fordfrog / apgdiff

Another PostgreSQL Diff Tool
http://www.apgdiff.com
MIT License
355 stars 138 forks source link

Add an option prefer-updates-over-default #246

Open pascalleclercq opened 5 years ago

pascalleclercq commented 5 years ago

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;