immigrant-generator-postgres 0.2.0

Immigrant migrations generator for postgres SQL dialect
Documentation
!!!TEST one scalar is normal, other is inline
scalar a = sql"TEXT" @check(_ != "bad");
scalar b = sql"TEXT" @inline @check(_ != "bad");
table Example {
	field: a;
	other_field: b;
};
!!!UPDATE inline scalar was dropped, and normal is converted to inline
scalar a = sql"TEXT" @inline @check(_ != "good");
table Example {
	field: a;
};
!!!UPDATE inline scalar was converted back to normal again
scalar a = sql"TEXT" @check(_ != "average");
table Example {
	field: a;
};
!!!RESULT
-- updated: one scalar is normal, other is inline --
CREATE DOMAIN a AS TEXT
	CONSTRAINT a_check CHECK (VALUE <> 'bad');
CREATE TABLE examples (
	field a NOT NULL
,	other_field TEXT NOT NULL
,	CONSTRAINT examples_other_field_check CHECK (other_field <> 'bad')
);
-- updated: inline scalar was dropped, and normal is converted to inline --
ALTER TABLE examples
	DROP CONSTRAINT examples_other_field_check
,	ALTER COLUMN field SET DATA TYPE TEXT
,	ADD CONSTRAINT examples_field_check CHECK (field <> 'good')
;
ALTER TABLE examples DROP COLUMN other_field;
DROP DOMAIN a;
-- updated: inline scalar was converted back to normal again --
CREATE DOMAIN a AS TEXT
	CONSTRAINT a_check CHECK (VALUE <> 'average');
ALTER TABLE examples
	DROP CONSTRAINT examples_field_check
,	ALTER COLUMN field SET DATA TYPE a
;
-- updated: cleanup schema changes --
DROP TABLE examples;
DROP DOMAIN a;