Class: Rubernate::DBI::OracleInit
- Inherits:
-
GenericInit
- Object
- GenericInit
- Rubernate::DBI::OracleInit
- Defined in:
- lib/rubernate/init/init_oracle.rb
Constant Summary collapse
- CREATE_R_OBJECTS =
%q{ CREATE TABLE R_OBJECTS ( OBJECT_PK NUMBER(20) PRIMARY KEY, OBJECT_CLASS VARCHAR2(100) NOT NULL) }.gsub(INDENT, '')
- CREATE_R_PARAMS =
%q{ CREATE TABLE R_PARAMS ( OBJECT_PK NUMBER(20) NOT NULL, NAME VARCHAR2(100) NOT NULL, FLAGS NUMBER(5) NOT NULL, INT_VALUE NUMBER(20), FLT_VALUE FLOAT, STR_VALUE VARCHAR2(1000), DAT_VALUE DATE, REF_VALUE NUMBER(20), CONSTRAINT R_PARAM_FK FOREIGN KEY (OBJECT_PK) REFERENCES R_OBJECTS(OBJECT_PK) ON DELETE CASCADE, CONSTRAINT R_REF_FK FOREIGN KEY (REF_VALUE) 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_P_PK_NAME ON R_PARAMS (OBJECT_PK, NAME) }.gsub(INDENT, '')
- CREATE_R_PK_SEQUENCE =
%q{ CREATE SEQUENCE R_PK_SEQUENCE START WITH 1001 INCREMENT BY 25 }.gsub(INDENT, '')
- TEMPLATE =
%q{ /** * Creates Rubernate tables for Oracle 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) ⇒ Object
Prints initialization script and tryes to initialize databaes database if dbh is given.
Instance Method Details
#init_db(dbh) ⇒ Object
Prints initialization script and tryes to initialize databaes database if dbh is given.
68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/rubernate/init/init_oracle.rb', line 68 def init_db dbh 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 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}" puts "Creation of pk sequence - #{exec_ddl dbh, CREATE_R_PK_SEQUENCE}" end end |