Создал следующий скрипт, чтобы стереть базу данных mysql (и сбросить первичные ключи каждой таблицы). Мне интересно, как мне его реорганизовать, и как я мог бы плюрализировать ActiveSupport.Рефакторинг простого сценария для очистки базы данных mysql в ruby
Код:
MODEL_DIR = File.expand_path("app/models")
Dir.chdir(MODEL_DIR)
files = Dir.glob(File.join("**", "*.rb"))
files.map! do |file|
file[0..-4] + "s"
end
print "This will WIPE your database. Continue? (y/n): "
if $stdin.gets.chomp.downcase == "y"
files.each do |f|
puts "Wiping #{f}.."
ActiveRecord::Base.connection.execute "TRUNCATE TABLE #{f};"
end
else
puts "Terminating script..."
end
Моя логика была в этом, каждый файл в каталоге моделей без .rb и множественном представляет собой таблицу в базе данных, так что это, как я получил список таблиц, имеющих отношение к этой заявление.
я запустить его с помощью этой команды: rails runner script/cleandb.rb
Как это должно быть переработан, и как я могу тянуть в множественном числе?
Как вы должны изменить свой код на основе мнения, а не на тип вопроса для переполнения стека. Пожалуйста, прочитайте раздел справки: http://stackoverflow.com/help/dont-ask Попробуйте использовать плюрализацию, и если это не сработает, опубликуйте специфику проблемы, которую вы испытываете. – xaxxon
Привет, почему бы просто не использовать таблицы show в mysql для отображения всех таблиц и их усечения? – Bigxiang
Попробуйте опубликовать это на: http://codereview.stackexchange.com/ – Martin