Class: Migration::TableDropper

Inherits:
Object
  • Object
show all
Defined in:
lib/migration/table_dropper.rb

Class Method Summary collapse

Class Method Details

.execute_drop(table_name) ⇒ Object



19
20
21
22
# File 'lib/migration/table_dropper.rb', line 19

def self.execute_drop(table_name)
  DB.exec("DROP TABLE IF EXISTS #{table_name}")
  BaseDropper.drop_readonly_function(table_name)
end

.read_only_table(table_name) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/migration/table_dropper.rb', line 7

def self.read_only_table(table_name)
  BaseDropper.create_readonly_function(table_name)

  DB.exec <<~SQL
    CREATE TRIGGER #{BaseDropper.readonly_trigger_name(table_name)}
    BEFORE INSERT OR UPDATE OR DELETE OR TRUNCATE
    ON #{table_name}
    FOR EACH STATEMENT
    EXECUTE PROCEDURE #{BaseDropper.readonly_function_name(table_name)};
  SQL
end