Skip to content

Instantly share code, notes, and snippets.

@deinspanjer
Last active October 9, 2016 13:02
Sqitch create table templates for pg engine
-- Deploy [% project %]:[% change %] to [% engine %]
[% FOREACH item IN requires -%]
-- requires: [% item %]
[% END -%]
[% FOREACH item IN conflicts -%]
-- conflicts: [% item %]
[% END -%]
BEGIN;
SET SEARCH_PATH TO [% IF schema %][% schema %],[% END %]public;
CREATE TABLE [% IF name %][% name %][% ELSE %][% change %][% END %] (
[% FOREACH col IN column -%]
[% col %] [% type.item( loop.index ) or 'TEXT' %] NOT NULL[% loop.last ? '' : ', ' %]
[% END -%]
);
COMMIT;
-- Revert [% project %]:[% change %] from [% engine %]
BEGIN;
SET SEARCH_PATH TO [% IF schema %][% schema %],[% END %]public;
DROP TABLE [% IF name %][% name %][% ELSE %][% change %][% END %] CASCADE;
COMMIT;
-- Verify [% project %]:[% change %] on [% engine %]
BEGIN;
SELECT '[% IF schema; schema %].[% END %][% IF name %][% name %][% ELSE %][% change %][% END %]'::REGCLASS;
ROLLBACK;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment