スキーマ内のテーブルを削除したい。プロジェクトを最初に開始したときにデータベースを作成し、テーブルを削除したい。これを行う最善の方法は何ですか?
私は試した Rails g migration drop table :installs
しかし、それは単に空の移行を作成しますか?
スキーマ:
create_table "installs", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "installs", ["email"], name: "index_installs_on_email", unique: true
add_index "installs", ["reset_password_token"], name: "index_installs_on_reset_password_token", unique: true
次を実行して空の移行を作成する場合:Rails g migration DropInstalls
または:Rails generate migration DropInstalls
次に、これを空の移行に追加できます。
class DropInstalls < ActiveRecord::Migration
def change
drop_table :installs
end
end
次に、インストールテーブルを削除するコマンドラインでrake db:migrate
を実行します
この問題を解決するのにRailsコンソールを使用するのが最も簡単だと思います。ブログアプリケーションから「コメント」テーブルを削除するとします。これを行うには、コマンドライン(たとえば、ターミナル)から次のタスクを実行します。
第一歩:
$ Rails console
ステップ2:
$ ActiveRecord::Migration.drop_table(:comments)
ステップ3:
$ rake db:migrate
schema.rb
テーブルが削除されたことを確認します。