Class: DohDb::DatabaseCreator
- Defined in:
- lib/doh/mysql/database_creator.rb
Instance Method Summary collapse
- #create_all_databases(drop_first = false) ⇒ Object
- #create_database(dbname, drop_first = false) ⇒ Object
- #create_database_copy(dest_db, source_db, drop_first = false) ⇒ Object
- #create_tables(database, drop_first, *table_and_view_names) ⇒ Object
- #exclude_scripts ⇒ Object
-
#initialize(data_directory = nil, connector = nil) ⇒ DatabaseCreator
constructor
A new instance of DatabaseCreator.
Constructor Details
#initialize(data_directory = nil, connector = nil) ⇒ DatabaseCreator
Returns a new instance of DatabaseCreator.
10 11 12 13 14 |
# File 'lib/doh/mysql/database_creator.rb', line 10 def initialize(data_directory = nil, connector = nil) @data_directory = data_directory || File.join(DohApp::home, 'database') @connector = connector || DohDb::connector_instance @include_scripts = true end |
Instance Method Details
#create_all_databases(drop_first = false) ⇒ Object
25 26 27 28 |
# File 'lib/doh/mysql/database_creator.rb', line 25 def create_all_databases(drop_first = false) dbh = get_nodb_handle Dir.directories(@data_directory).each {|elem| create_one_database(dbh, elem, elem, drop_first)} end |
#create_database(dbname, drop_first = false) ⇒ Object
16 17 18 |
# File 'lib/doh/mysql/database_creator.rb', line 16 def create_database(dbname, drop_first = false) create_one_database(get_nodb_handle, dbname, dbname, drop_first) end |
#create_database_copy(dest_db, source_db, drop_first = false) ⇒ Object
20 21 22 23 |
# File 'lib/doh/mysql/database_creator.rb', line 20 def create_database_copy(dest_db, source_db, drop_first = false) create_one_database(get_nodb_handle, dest_db, source_db, drop_first) DohDb::link_database_types(dest_db, source_db) end |
#create_tables(database, drop_first, *table_and_view_names) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/doh/mysql/database_creator.rb', line 30 def create_tables(database, drop_first, *table_and_view_names) @connector.database = database views, tables = table_and_view_names.flatten.sort.partition {|name| File.exist?(sql_filename(database, 'views', name))} tables.each {|name| create_base_table(database, name, drop_first)} views.each {|name| create_view(database, name, drop_first)} end |
#exclude_scripts ⇒ Object
37 38 39 40 |
# File 'lib/doh/mysql/database_creator.rb', line 37 def exclude_scripts @include_scripts = false self end |