Class: Rubernate::DBI::PgInit
- Inherits:
-
GenericInit
- Object
- GenericInit
- Rubernate::DBI::PgInit
- Defined in:
- lib/rubernate/init/init_pg.rb
Constant Summary collapse
- CREATE_R_OBJECTS =
%q{ CREATE TABLE R_OBJECTS ( OBJECT_PK INTEGER PRIMARY KEY, OBJECT_CLASS VARCHAR(100)) }.gsub(INDENT, '')
- CREATE_R_PARAMS =
%q{ CREATE TABLE R_PARAMS ( OBJECT_PK INTEGER NOT NULL REFERENCES R_OBJECTS(OBJECT_PK) ON DELETE CASCADE, NAME VARCHAR NOT NULL, FLAGS INTEGER NOT NULL, INT_VALUE INTEGER, FLT_VALUE FLOAT, STR_VALUE VARCHAR, DAT_VALUE TIMESTAMP WITH TIME ZONE, REF_VALUE INTEGER REFERENCES R_OBJECTS(OBJECT_PK) ON DELETE CASCADE) }.gsub(INDENT, '')
- CREATE_INDEX_O_PK_CLASS =
%q{ CREATE INDEX R_O_PK_CLASS ON R_OBJECTS (OBJECT_PK, OBJECT_CLASS) }.gsub(INDENT, '')
- CREATE_INDEX_P_PK_NAME =
%q{ CREATE INDEX R_O_CLASS ON R_OBJECTS (OBJECT_CLASS) }.gsub(INDENT, '')
- CREATE_R_PK_SEQUENCE =
%q{ CREATE SEQUENCE R_PK_SEQUENCE INCREMENT BY 25; }.gsub(INDENT, '')
- TEMPLATE =
%q{ /** * Creates Rubernate tables for PostgreSQL database. * Copyright (C) 2006 Andrey Ryabov <[email protected]> */ /** * Create r_objects table */ <%= CREATE_R_OBJECTS %>/ /** * Create r_params table */ <%= CREATE_R_PARAMS %>/ /** * Create index on r_objects */ <%= CREATE_INDEX_O_PK_CLASS %>/ /** * Create index on r_params */ <%= CREATE_INDEX_P_PK_NAME %>/ /** * Create primary key sequence */ <%= CREATE_R_PK_SEQUENCE %>/ /** * End */ }.gsub(INDENT, '')
Constants inherited from GenericInit
Instance Method Summary collapse
-
#init_db(dbh = nil) ⇒ Object
Prints initialization script and tryes to initialize databaes database if dbh is given.
Instance Method Details
#init_db(dbh = nil) ⇒ Object
Prints initialization script and tryes to initialize databaes database if dbh is given.
65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/rubernate/init/init_pg.rb', line 65 def init_db dbh=nil puts ERB.new(TEMPLATE).result(binding) if dbh puts "\nInitializing database ... " puts "Creation of r_objects - #{exec_ddl dbh, CREATE_R_OBJECTS}" puts "Creation of r_params - #{exec_ddl dbh, CREATE_R_PARAMS}" puts "Creation of pk sequence - #{exec_ddl dbh, CREATE_R_PK_SEQUENCE}" puts "Creation of index on r_objects - #{exec_ddl dbh, CREATE_INDEX_O_PK_CLASS}" puts "Creation of index on r_params - #{exec_ddl dbh, CREATE_INDEX_P_PK_NAME}" end end |