mirror of
https://github.com/internetee/registry.git
synced 2025-07-22 18:56:05 +02:00
Fixed db:all rake task
This commit is contained in:
parent
d8828750d9
commit
cb3b2e39fc
2 changed files with 29 additions and 29 deletions
|
@ -1,5 +1,10 @@
|
||||||
# otherwise rake not working 100%
|
# otherwise rake not working 100%
|
||||||
con = ActiveRecord::Base.connection
|
begin
|
||||||
|
con = ActiveRecord::Base.connection
|
||||||
|
rescue ActiveRecord::NoDatabaseError
|
||||||
|
# for running rake tasks, no output
|
||||||
|
end
|
||||||
|
|
||||||
if con.present? && con.table_exists?('settings')
|
if con.present? && con.table_exists?('settings')
|
||||||
Setting.disclosure_name = true if Setting.disclosure_name.nil?
|
Setting.disclosure_name = true if Setting.disclosure_name.nil?
|
||||||
Setting.disclosure_name = true if Setting.disclosure_name.nil?
|
Setting.disclosure_name = true if Setting.disclosure_name.nil?
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
namespace :db do
|
namespace :db do
|
||||||
def other_databases
|
def databases
|
||||||
@db ||= ["api_log_#{Rails.env}", "whois_#{Rails.env}"]
|
@db ||= [Rails.env, "api_log_#{Rails.env}", "whois_#{Rails.env}"]
|
||||||
end
|
end
|
||||||
|
|
||||||
def schema_file(db)
|
def schema_file(db)
|
||||||
case db
|
case db
|
||||||
|
when Rails.env
|
||||||
|
'schema.rb'
|
||||||
when "api_log_#{Rails.env}"
|
when "api_log_#{Rails.env}"
|
||||||
'api_log_schema.rb'
|
'api_log_schema.rb'
|
||||||
when "whois_#{Rails.env}"
|
when "whois_#{Rails.env}"
|
||||||
|
@ -14,28 +16,31 @@ namespace :db do
|
||||||
|
|
||||||
namespace :all do
|
namespace :all do
|
||||||
desc 'Create all databases: registry, api_log and whois'
|
desc 'Create all databases: registry, api_log and whois'
|
||||||
task setup: [:environment] do
|
task setup: [:environment, :load_config] do
|
||||||
Rake::Task['db:all:create'].invoke
|
Rake::Task['db:all:create'].invoke
|
||||||
Rake::Task['db:all:schema:load'].invoke
|
Rake::Task['db:all:schema:load'].invoke
|
||||||
|
|
||||||
ActiveRecord::Base.clear_all_connections!
|
ActiveRecord::Base.clear_all_connections!
|
||||||
ActiveRecord::Base.establish_connection(Rails.env.to_sym)
|
ActiveRecord::Base.establish_connection(Rails.env.to_sym)
|
||||||
# puts "\n---------------------------- Import seed ----------------------------------------\n"
|
|
||||||
# Rake::Task['db:seed'].invoke
|
puts "\n---------------------------- Import seed ----------------------------------------\n"
|
||||||
|
Rake::Task['db:seed'].invoke
|
||||||
puts "\n All done!\n\n"
|
puts "\n All done!\n\n"
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Create all databases: registry, api_log and whois'
|
desc 'Create all databases: registry, api_log and whois'
|
||||||
task create: [:environment] do
|
task create: [:environment, :load_config] do
|
||||||
puts "\n---------------------------- Create main database ----------------------------------------\n"
|
databases.each do |name|
|
||||||
Rake::Task['db:create'].invoke
|
|
||||||
|
|
||||||
other_databases.each do |name|
|
|
||||||
begin
|
begin
|
||||||
puts "\n---------------------------- Create #{name} ----------------------------------------\n"
|
puts "\n---------------------------- Create #{name} ----------------------------------------\n"
|
||||||
ActiveRecord::Base.clear_all_connections!
|
ActiveRecord::Base.clear_all_connections!
|
||||||
conf = ActiveRecord::Base.configurations
|
conf = ActiveRecord::Base.configurations
|
||||||
ActiveRecord::Base.connection.create_database(conf[name]['database'].to_sym, conf[name])
|
|
||||||
|
if name == Rails.env
|
||||||
|
ActiveRecord::Tasks::DatabaseTasks.create_current
|
||||||
|
else
|
||||||
|
ActiveRecord::Base.connection.create_database(conf[name]['database'].to_sym, conf[name])
|
||||||
|
end
|
||||||
rescue => e
|
rescue => e
|
||||||
puts "\n#{e}"
|
puts "\n#{e}"
|
||||||
end
|
end
|
||||||
|
@ -43,15 +48,11 @@ namespace :db do
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Drop all databaseses: registry, api_log and whois'
|
desc 'Drop all databaseses: registry, api_log and whois'
|
||||||
task drop: [:environment] do
|
task drop: [:environment, :load_config] do
|
||||||
# just in case we allow only drop test, comment it out please for temp
|
# just in case we allow only drop test, comment it out only for temp
|
||||||
return unless Rails.env.test?
|
return unless Rails.env.test?
|
||||||
|
|
||||||
Rake::Task['db:drop'].invoke
|
databases.each do |name|
|
||||||
conf = ActiveRecord::Base.configurations
|
|
||||||
puts "#{conf[Rails.env]['database']} dropped"
|
|
||||||
|
|
||||||
other_databases.each do |name|
|
|
||||||
begin
|
begin
|
||||||
ActiveRecord::Base.clear_all_connections!
|
ActiveRecord::Base.clear_all_connections!
|
||||||
ActiveRecord::Base.establish_connection(name.to_sym)
|
ActiveRecord::Base.establish_connection(name.to_sym)
|
||||||
|
@ -70,11 +71,8 @@ namespace :db do
|
||||||
|
|
||||||
namespace :schema do
|
namespace :schema do
|
||||||
desc 'Schema load for all databases: registry, api_log and whois'
|
desc 'Schema load for all databases: registry, api_log and whois'
|
||||||
task load: [:environment] do
|
task load: [:environment, :load_config] do
|
||||||
puts "\n---------------------------- Main schema load ----------------------------------------\n"
|
databases.each do |name|
|
||||||
Rake::Task['db:schema:load'].invoke
|
|
||||||
|
|
||||||
other_databases.each do |name|
|
|
||||||
begin
|
begin
|
||||||
puts "\n---------------------------- #{name} schema loaded ----------------------------------------\n"
|
puts "\n---------------------------- #{name} schema loaded ----------------------------------------\n"
|
||||||
ActiveRecord::Base.clear_all_connections!
|
ActiveRecord::Base.clear_all_connections!
|
||||||
|
@ -91,11 +89,8 @@ namespace :db do
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Schema load for all databases: registry, api_log and whois'
|
desc 'Schema load for all databases: registry, api_log and whois'
|
||||||
task dump: [:environment] do
|
task dump: [:environment, :load_config] do
|
||||||
puts "\n---------------------------- Main schema load ----------------------------------------\n"
|
databases.each do |name|
|
||||||
Rake::Task['db:schema:dump'].invoke
|
|
||||||
|
|
||||||
other_databases.each do |name|
|
|
||||||
begin
|
begin
|
||||||
puts "\n---------------------------- #{name} ----------------------------------------\n"
|
puts "\n---------------------------- #{name} ----------------------------------------\n"
|
||||||
filename = "#{Rails.root}/db/#{schema_file(name)}"
|
filename = "#{Rails.root}/db/#{schema_file(name)}"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue