Class: ActiveRecord::Tasks::MySQLDatabaseTasks
Do not use. This class is for internal use only.
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
AbstractTasks
|
|
Instance Chain:
self,
AbstractTasks
|
|
Inherits: |
ActiveRecord::Tasks::AbstractTasks
|
Defined in: | activerecord/lib/active_record/tasks/mysql_database_tasks.rb |
Class Attribute Summary
AbstractTasks
- Inherited
Class Method Summary
AbstractTasks
- Inherited
Instance Attribute Summary
AbstractTasks
- Inherited
Instance Method Summary
- #charset
- #create
- #drop
- #purge
- #structure_dump(filename, extra_flags)
- #structure_load(filename, extra_flags)
- #creation_options private
- #prepare_command_options private
AbstractTasks
- Inherited
Constructor Details
This class inherits a constructor from ActiveRecord::Tasks::AbstractTasks
Instance Method Details
#charset
[ GitHub ]# File 'activerecord/lib/active_record/tasks/mysql_database_tasks.rb', line 23
def charset connection.charset end
#create
[ GitHub ]# File 'activerecord/lib/active_record/tasks/mysql_database_tasks.rb', line 6
def create establish_connection(configuration_hash_without_database) connection.create_database(db_config.database, ) establish_connection end
#creation_options (private)
[ GitHub ]#drop
[ GitHub ]# File 'activerecord/lib/active_record/tasks/mysql_database_tasks.rb', line 12
def drop establish_connection connection.drop_database(db_config.database) end
#prepare_command_options (private)
[ GitHub ]# File 'activerecord/lib/active_record/tasks/mysql_database_tasks.rb', line 63
def args = { host: "--host", port: "--port", socket: "--socket", username: "--user", password: "--password", encoding: "--default-character-set", sslca: "--ssl-ca", sslcert: "--ssl-cert", sslcapath: "--ssl-capath", sslcipher: "--ssl-cipher", sslkey: "--ssl-key", ssl_mode: "--ssl-mode" }.filter_map { |opt, arg| "#{arg}=#{configuration_hash[opt]}" if configuration_hash[opt] } args end
#purge
[ GitHub ]# File 'activerecord/lib/active_record/tasks/mysql_database_tasks.rb', line 17
def purge establish_connection(configuration_hash_without_database) connection.recreate_database(db_config.database, ) establish_connection end
#structure_dump(filename, extra_flags)
[ GitHub ]# File 'activerecord/lib/active_record/tasks/mysql_database_tasks.rb', line 27
def structure_dump(filename, extra_flags) args = args.concat(["--result-file", "#{filename}"]) args.concat(["--no-data"]) args.concat(["--routines"]) args.concat(["--skip-comments"]) ignore_tables = ActiveRecord::SchemaDumper.ignore_tables if ignore_tables.any? ignore_tables = connection.data_sources.select { |table| ignore_tables.any? { |pattern| pattern === table } } args += ignore_tables.map { |table| "--ignore-table=#{db_config.database}.#{table}" } end args.concat([db_config.database.to_s]) args.unshift(*extra_flags) if extra_flags run_cmd("mysqldump", *args) end
#structure_load(filename, extra_flags)
[ GitHub ]# File 'activerecord/lib/active_record/tasks/mysql_database_tasks.rb', line 46
def structure_load(filename, extra_flags) args = args.concat(["--execute", %{SET FOREIGN_KEY_CHECKS = 0; SOURCE #{filename}; SET FOREIGN_KEY_CHECKS = 1}]) args.concat(["--database", db_config.database.to_s]) args.unshift(*extra_flags) if extra_flags run_cmd("mysql", *args) end