Skip to content

Instantly share code, notes, and snippets.

@deinspanjer
Last active October 9, 2016 13:52
Show Gist options
  • Save deinspanjer/67a6d19d8fe9a1f903ea6587af6f8ae0 to your computer and use it in GitHub Desktop.
Save deinspanjer/67a6d19d8fe9a1f903ea6587af6f8ae0 to your computer and use it in GitHub Desktop.
Sqitch create view 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 OR REPLACE VIEW [% IF name %][% name %][% ELSE %][% change %][% END %] AS (
SELECT * FROM [% IF source; source %][% ELSE %]XXX SOURCE[% END %]
);
--GRANT SELECT ON TABLE [% IF name %][% name %][% ELSE %][% change %][% END %] TO PUBLIC;
COMMIT;
-- Revert [% project %]:[% change %] from [% engine %]
BEGIN;
SET SEARCH_PATH TO [% IF schema %][% schema %],[% END %]public;
DROP VIEW [% IF name %][% name %][% ELSE %][% change %][% END %] RESTRICT;
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