Using default on add column on existing table may take long and It can a good idea to prevent It by performing an update on the new column
see "Tip: Adding a column..."
https://www.postgresql.org/docs/9.6/ddl-alter.html
I created a new option called "--prefer-updates-over-default"
If activated It will generate :
ALTER TABLE testtable
ADD COLUMN IF NOT EXISTS field5 boolean;
UPDATE testtable SET field5=false WHERE field5 is null;
ALTER TABLE testtable ALTER COLUMN field5 SET DEFAULT false;
ALTER TABLE testtable ALTER COLUMN field5 SET NOT NULL;
instead of :
ALTER TABLE testtable
ADD COLUMN IF NOT EXISTS field5 boolean DEFAULT false NOT NULL;
Using default on add column on existing table may take long and It can a good idea to prevent It by performing an update on the new column see "Tip: Adding a column..." https://www.postgresql.org/docs/9.6/ddl-alter.html I created a new option called "--prefer-updates-over-default"
If activated It will generate : ALTER TABLE testtable ADD COLUMN IF NOT EXISTS field5 boolean; UPDATE testtable SET field5=false WHERE field5 is null; ALTER TABLE testtable ALTER COLUMN field5 SET DEFAULT false; ALTER TABLE testtable ALTER COLUMN field5 SET NOT NULL;
instead of :
ALTER TABLE testtable ADD COLUMN IF NOT EXISTS field5 boolean DEFAULT false NOT NULL;