Class: Tenantable::Vendor::Postgres

Inherits:
Database::Adapter show all
Defined in:
lib/tenantable/vendor.rb

Class Method Summary collapse

Methods inherited from Database::Adapter

inherited, vendor

Class Method Details

.create_schema(schema_name) ⇒ Object



14
15
16
17
# File 'lib/tenantable/vendor.rb', line 14

def self.create_schema(schema_name)
  sql = %{CREATE SCHEMA "#{schema_name}" }
  ActiveRecord::Base.connection.execute sql
end

.databaseObject



5
6
7
# File 'lib/tenantable/vendor.rb', line 5

def self.database
  :postgres
end

.default_schemaObject



23
24
25
# File 'lib/tenantable/vendor.rb', line 23

def self.default_schema
   %{"$user", public}
end

.public_schemaObject



19
20
21
# File 'lib/tenantable/vendor.rb', line 19

def self.public_schema
  "public"
end

.schemasObject



9
10
11
12
# File 'lib/tenantable/vendor.rb', line 9

def self.schemas
  sql = "SELECT nspname FROM pg_namespace WHERE nspname !~ '^pg_.*'"
  ActiveRecord::Base.connection.query(sql).flatten
end