Module: Wal::Migration
- Defined in:
- lib/wal/migration.rb
Defined Under Namespace
Classes: PublicationDefinition
Instance Method Summary collapse
Instance Method Details
#define_publication(name) {|definition| ... } ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/wal/migration.rb', line 30 def define_publication(name) execute <<~SQL DO $$ BEGIN CASE WHEN NOT EXISTS (SELECT 1 FROM pg_publication WHERE pubname = '#{name}') THEN CREATE PUBLICATION #{name}; ELSE NULL; END CASE; END; $$; SQL definition = PublicationDefinition.new(name) yield definition execute definition.to_sql end |