0

次のスクリプトを作成して、mysql データベースをワイプ (および各テーブルの主キーをリセット) しました。どのようにリファクタリングする必要があるのか​​ 、ActiveSupportから複数形にする方法を考えています。

コード:

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

これはどのようにリファクタリングする必要があり、どのように複数形にすることができますか?

4

1 に答える 1