Manually load the DB config rather than firing the whole initializer [Gerrit Kaiser]
This commit is contained in:
parent
06ed8e4511
commit
a8fc494dbb
|
@ -1,7 +1,12 @@
|
||||||
namespace :db do
|
namespace :db do
|
||||||
|
task :load_config => :rails_env do
|
||||||
|
require 'active_record'
|
||||||
|
ActiveRecord::Base.configurations = Rails::Configuration.new.database_configuration
|
||||||
|
end
|
||||||
|
|
||||||
namespace :create do
|
namespace :create do
|
||||||
desc 'Create all the local databases defined in config/database.yml'
|
desc 'Create all the local databases defined in config/database.yml'
|
||||||
task :all => :environment do
|
task :all => :load_config do
|
||||||
ActiveRecord::Base.configurations.each_value do |config|
|
ActiveRecord::Base.configurations.each_value do |config|
|
||||||
# Skip entries that don't have a database key, such as the first entry here:
|
# Skip entries that don't have a database key, such as the first entry here:
|
||||||
#
|
#
|
||||||
|
@ -22,7 +27,7 @@ namespace :db do
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Create the database defined in config/database.yml for the current RAILS_ENV'
|
desc 'Create the database defined in config/database.yml for the current RAILS_ENV'
|
||||||
task :create => :environment do
|
task :create => :load_config do
|
||||||
create_database(ActiveRecord::Base.configurations[RAILS_ENV])
|
create_database(ActiveRecord::Base.configurations[RAILS_ENV])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -76,7 +81,7 @@ namespace :db do
|
||||||
|
|
||||||
namespace :drop do
|
namespace :drop do
|
||||||
desc 'Drops all the local databases defined in config/database.yml'
|
desc 'Drops all the local databases defined in config/database.yml'
|
||||||
task :all => :environment do
|
task :all => :load_config do
|
||||||
ActiveRecord::Base.configurations.each_value do |config|
|
ActiveRecord::Base.configurations.each_value do |config|
|
||||||
# Skip entries that don't have a database key
|
# Skip entries that don't have a database key
|
||||||
next unless config['database']
|
next unless config['database']
|
||||||
|
@ -87,7 +92,7 @@ namespace :db do
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Drops the database for the current RAILS_ENV'
|
desc 'Drops the database for the current RAILS_ENV'
|
||||||
task :drop => :environment do
|
task :drop => :load_config do
|
||||||
config = ActiveRecord::Base.configurations[RAILS_ENV || 'development']
|
config = ActiveRecord::Base.configurations[RAILS_ENV || 'development']
|
||||||
begin
|
begin
|
||||||
drop_database(config)
|
drop_database(config)
|
||||||
|
|
|
@ -3,6 +3,12 @@ task :environment do
|
||||||
require(File.join(RAILS_ROOT, 'config', 'environment'))
|
require(File.join(RAILS_ROOT, 'config', 'environment'))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
task :rails_env do
|
||||||
|
unless defined? RAILS_ENV
|
||||||
|
RAILS_ENV = ENV['RAILS_ENV'] ||= 'development'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
desc 'Generate a crytographically secure secret key. This is typically used to generate a secret for cookie sessions.'
|
desc 'Generate a crytographically secure secret key. This is typically used to generate a secret for cookie sessions.'
|
||||||
task :secret do
|
task :secret do
|
||||||
puts ActiveSupport::SecureRandom.hex(64)
|
puts ActiveSupport::SecureRandom.hex(64)
|
||||||
|
|
Loading…
Reference in New Issue