lib/tasks/db.rake in gris-0.5.7 vs lib/tasks/db.rake in gris-0.5.8
- old
+ new
@@ -1,75 +1,9 @@
-unless defined?(Rails)
- task :environment do
- require './config/application.rb'
- fail 'ActiveRecord Not Found' unless Module.const_defined?(:ActiveRecord)
- end
+if File.file? 'config/database.yml'
+ require 'active_record_migrations'
- namespace :db do
- desc 'Migrate the database through scripts in db/migrate. Target specific version with VERSION=x'
- task migrate: :environment do
- ActiveRecord::Migrator.migrate('db/migrate', ENV['VERSION'] ? ENV['VERSION'].to_i : nil)
- Rake::Task['db:schema:dump'].invoke unless Gris.env.production?
- end
-
- desc 'Rollback to a previous migration. Go back multiple steps with STEP=x'
- task rollback: :environment do
- ActiveRecord::Migration.verbose = true
- step = ENV['STEP'] ? ENV['STEP'].to_i : 1
- ActiveRecord::Migrator.rollback('db/migrate', step)
- end
-
- desc 'Create the database'
- task create: :environment do
- db = Gris.db_connection_details
- admin_connection = db.merge(database: 'postgres',
- schema_search_path: 'public')
- ActiveRecord::Base.establish_connection(admin_connection)
- begin
- ActiveRecord::Base.connection.create_database(db['database'])
- rescue ActiveRecord::StatementInvalid => e
- if e.message =~ /DuplicateDatabase/
- $stderr.puts "#{admin_connection['database']} already exists"
- else
- raise
- end
- end
- end
-
- desc 'Delete the database'
- task drop: :environment do
- db = Gris.db_connection_details
- admin_connection = db.merge(database: 'postgres',
- schema_search_path: 'public')
- ActiveRecord::Base.establish_connection(admin_connection)
- ActiveRecord::Base.connection.drop_database(db['database'])
- end
-
- desc 'Recreate the database, load the schema, and initialize with the seed data'
- task reset: :environment do
- Rake::Task['db:drop'].invoke
- Rake::Task['db:create'].invoke
- Rake::Task['db:schema:load'].invoke
- end
-
- namespace :schema do
- desc 'Create a db/schema.rb file that can be portably used against any DB supported by AR'
- task dump: :environment do
- require 'active_record/schema_dumper'
- File.open(ENV['SCHEMA'] || 'db/schema.rb', 'w') do |file|
- ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
- end
- end
-
- desc 'Load a schema.rb file into the database'
- task load: :environment do
- file = ENV['SCHEMA'] || 'db/schema.rb'
- db = Gris.db_connection_details
- admin_connection = db.merge(database: 'postgres',
- schema_search_path: 'public')
- ActiveRecord::Base.establish_connection(admin_connection)
- ActiveRecord::Schema.verbose = true
- load(file)
- end
- end
+ ActiveRecordMigrations.configure do |c|
+ c.yaml_config = 'config/database.yml'
end
+
+ ActiveRecordMigrations.load_tasks
end