Class: DohDb::DatabaseCreator
- Inherits:
-
Object
- Object
- DohDb::DatabaseCreator
- Defined in:
- lib/dohmysql/database_creator.rb
Constant Summary collapse
- MIGRATE_TABLE_DEF =
"CREATE TABLE migrate (migrated_at DATETIME NOT NULL, name CHAR(50) NOT NULL, sql_applied TEXT NOT NULL)"
Instance Method Summary collapse
- #create_all_databases(drop_first, include_migrates) ⇒ Object
- #create_database(dbname, drop_first, include_migrates) ⇒ Object
- #create_database_copy(dest_db, source_db, drop_first, include_migrates) ⇒ Object
- #create_tables(database, drop_first, *table_and_view_names) ⇒ Object
- #exclude_scripts ⇒ Object
-
#initialize(sqlfiles_directory = nil, connector = nil) ⇒ DatabaseCreator
constructor
A new instance of DatabaseCreator.
Constructor Details
#initialize(sqlfiles_directory = nil, connector = nil) ⇒ DatabaseCreator
12 13 14 15 16 |
# File 'lib/dohmysql/database_creator.rb', line 12 def initialize(sqlfiles_directory = nil, connector = nil) @sqlfiles_directory = sqlfiles_directory || DohDb.sql_files_path @connector = connector || DohDb.connector_instance @include_scripts = true end |
Instance Method Details
#create_all_databases(drop_first, include_migrates) ⇒ Object
26 27 28 29 |
# File 'lib/dohmysql/database_creator.rb', line 26 def create_all_databases(drop_first, include_migrates) dbh = get_handle('') Dir.directories(@sqlfiles_directory).each {|elem| create_one_database(dbh, elem, elem, drop_first, include_migrates)} end |
#create_database(dbname, drop_first, include_migrates) ⇒ Object
18 19 20 |
# File 'lib/dohmysql/database_creator.rb', line 18 def create_database(dbname, drop_first, include_migrates) create_one_database(get_handle(''), dbname, dbname, drop_first, include_migrates) end |
#create_database_copy(dest_db, source_db, drop_first, include_migrates) ⇒ Object
22 23 24 |
# File 'lib/dohmysql/database_creator.rb', line 22 def create_database_copy(dest_db, source_db, drop_first, include_migrates) create_one_database(get_handle(''), dest_db, source_db, drop_first, include_migrates) end |
#create_tables(database, drop_first, *table_and_view_names) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/dohmysql/database_creator.rb', line 31 def create_tables(database, drop_first, *table_and_view_names) dbh = get_handle(database) views, tables = table_and_view_names.flatten.sort.partition {|name| File.exist?(sql_filename(database, 'views', name))} tables.each {|name| create_base_table(dbh, database, name, drop_first)} views.each {|name| create_view(dbh, database, name, drop_first)} end |
#exclude_scripts ⇒ Object
38 39 40 41 |
# File 'lib/dohmysql/database_creator.rb', line 38 def exclude_scripts @include_scripts = false self end |