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