module PgRls::Schema::Statements

Schema Statements

Public Instance Methods

convert_to_rls_table(table_name) click to toggle source
# File lib/pg_rls/schema/statements.rb, line 59
def convert_to_rls_table(table_name)
  add_rls_column(table_name)
  create_rls_policy(table_name)
  append_trigger_function(table_name)
end
convert_to_rls_tenant_table(table_name, **_options) click to toggle source
# File lib/pg_rls/schema/statements.rb, line 43
def convert_to_rls_tenant_table(table_name, **_options)
  create_rls_user(password: PgRls.database_configuration['password'])
  create_rls_setter_function
  create_rls_blocking_function
  add_rls_column_to_tenant_table(table_name)
  append_blocking_function(table_name)
end
create_rls_table(table_name, **options, &block) click to toggle source
# File lib/pg_rls/schema/statements.rb, line 22
def create_rls_table(table_name, **options, &block)
  create_table(table_name, **options, &block)
  add_rls_column(table_name)
  create_rls_policy(table_name)
  append_trigger_function(table_name)
end
create_rls_tenant_table(table_name, **options, &block) click to toggle source
# File lib/pg_rls/schema/statements.rb, line 13
def create_rls_tenant_table(table_name, **options, &block)
  create_rls_user(password: PgRls.database_configuration['password'])
  create_rls_setter_function
  create_rls_blocking_function
  create_table(table_name, **options, &block)
  add_rls_column_to_tenant_table(table_name)
  append_blocking_function(table_name)
end
drop_rls_table(table_name) click to toggle source
# File lib/pg_rls/schema/statements.rb, line 37
def drop_rls_table(table_name)
  detach_trigger_function(table_name)
  drop_rls_policy(table_name)
  drop_table(table_name)
end
drop_rls_tenant_table(table_name) click to toggle source
# File lib/pg_rls/schema/statements.rb, line 29
def drop_rls_tenant_table(table_name)
  drop_rls_setter_function
  detach_blocking_function(table_name)
  drop_table(table_name)
  drop_rls_blocking_function
  drop_rls_user
end
revert_rls_table(table_name) click to toggle source
# File lib/pg_rls/schema/statements.rb, line 65
def revert_rls_table(table_name)
  detach_trigger_function(table_name)
  drop_rls_policy(table_name)
  drop_rls_column(table_name)
end
revert_rls_tenant_table(table_name) click to toggle source
# File lib/pg_rls/schema/statements.rb, line 51
def revert_rls_tenant_table(table_name)
  drop_rls_setter_function
  detach_blocking_function(table_name)
  drop_rls_blocking_function
  drop_rls_user
  drop_rls_column(table_name)
end