From: <lis...@io...> - 2016-09-08 10:05:57
|
Hello. On 2016-09-07T23:00:17 +0100 Fred Toussi <fr...@us...> wrote: > Non-transactional DDL has always been the case. > > If your DDL statements do not contain syntax errors or references to > non-existent database objects, then they won't fail the first time they > are executed. Right. > > The IF NOT EXISTS clause can be used with all database objects. > > You can query the INFORMATION_SCHEMA views to check if a table or other > object exists, before creating database objects. > > You can always drop the whole schema if you want to recreate it. Dropping the schema is fine for initial installation, but what about schema upgrades? If I can't reliably and atomically update the structure of tables, then it would seem that every upgrade has a risk of getting the database into an inconsistent state. M |