forgeplus/lib/tasks/sync_table_structure.rake

25 lines
1.0 KiB
Ruby
Raw Permalink Normal View History

2020-03-09 00:40:16 +08:00
desc "Initialize the data table structure"
namespace :sync_table_structure do
task import_csv: :environment do
puts "init table structure......."
2020-11-24 17:00:42 +08:00
database_config = Rails.configuration.database_configuration
2023-05-25 18:30:12 +08:00
table_count = ActiveRecord::Base.connection.query_value("SELECT count(*) FROM information_schema.`TABLES` where TABLE_SCHEMA='#{database_config[Rails.env]["database"]}'")
2023-05-25 18:35:19 +08:00
next if table_count.to_i > 10
2023-05-25 18:30:12 +08:00
2020-11-24 17:00:42 +08:00
database = database_config[Rails.env]["database"]
database_username = database_config[Rails.env]["username"]
database_password = database_config[Rails.env]["password"]
database_host = database_config[Rails.env]["host"]
database_port = database_config[Rails.env]["port"] || 3306
puts "bash: mysql -u#{database_username} -p#{database_password} -P#{database_port} -h#{database_host} #{database}"
2023-07-20 09:18:07 +08:00
system "mysql -u#{database_username} -p#{database_password} -P#{database_port} -h#{database_host} #{database} < #{Rails.root}/db/structure.sql"
2020-03-09 00:40:16 +08:00
puts "init success"
end
end