Sha256: e8e1e06f3b62e09bb2907f5b33a39a39e0f5bf3b2b85c6703d0172c7537d3ada

Contents?: true

Size: 1.37 KB

Versions: 24

Compression:

Stored size: 1.37 KB

Contents

namespace :mysql do
  task :setup do
    require 'bundler'
    Bundler.require(:default, :mysql)
  end

  task :create_database => :setup do
    spec = CompositePrimaryKeys::ConnectionSpec['mysql']
    ActiveRecord::Base.clear_all_connections!
    new_spec = spec.dup
    new_spec.delete('database')
    connection = ActiveRecord::Base.establish_connection(new_spec)
    ActiveRecord::Base.connection.create_database(spec['database'])
    ActiveRecord::Base.clear_all_connections!
  end

  desc 'Build the MySQL test database'
  task :build_database => [:create_database] do
    path = File.join(PROJECT_ROOT, 'test', 'fixtures', 'db_definitions', 'mysql.sql')
    sql = File.open(path, 'rb') do |file|
      file.read
    end

    spec = CompositePrimaryKeys::ConnectionSpec['mysql']
    connection = ActiveRecord::Base.establish_connection(spec)
    sql.split(";").each do |statement|
      ActiveRecord::Base.connection.execute(statement) unless statement.strip.length == 0
    end
  end

  desc 'Drop the MySQL test database'
  task :drop_database => :setup do
    spec = CompositePrimaryKeys::ConnectionSpec['mysql']
    connection = ActiveRecord::Base.establish_connection(spec)
    ActiveRecord::Base.connection.drop_database(spec['database'])
  end

  desc 'Rebuild the MySQL test database'
  task :rebuild_database => [:drop_database, :build_database]
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
composite_primary_keys-11.3.1 tasks/databases/mysql.rake
composite_primary_keys-11.2.0 tasks/databases/mysql.rake
composite_primary_keys-11.1.0 tasks/databases/mysql.rake
composite_primary_keys-11.0.3 tasks/databases/mysql.rake
composite_primary_keys-11.0.2 tasks/databases/mysql.rake
composite_primary_keys-10.0.5 tasks/databases/mysql.rake
composite_primary_keys-9.0.10 tasks/databases/mysql.rake
composite_primary_keys-11.0.1 tasks/databases/mysql.rake
composite_primary_keys-11.0.0 tasks/databases/mysql.rake
composite_primary_keys-10.0.4 tasks/databases/mysql.rake
composite_primary_keys-9.0.9 tasks/databases/mysql.rake
composite_primary_keys-10.0.3 tasks/databases/mysql.rake
composite_primary_keys-11.0.0.rc1 tasks/databases/mysql.rake
composite_primary_keys-11.0.0.beta4 tasks/databases/mysql.rake
composite_primary_keys-11.0.0.beta3 tasks/databases/mysql.rake
composite_primary_keys-11.0.0.beta2 tasks/databases/mysql.rake
composite_primary_keys-11.0.0.beta1 tasks/databases/mysql.rake
composite_primary_keys-10.0.2 tasks/databases/mysql.rake
composite_primary_keys-10.0.1 tasks/databases/mysql.rake
composite_primary_keys-9.0.8 tasks/databases/mysql.rake