皆さん、私が最初に Rails プロジェクトを開始したとき、モデル ユーザーは設計および作成されていました。すべての移行部分の後、postgres にテーブル "users" が正常に作成されました。さて、プロジェクト中にいくつかの変更を行った後、テーブルに属性/新しい列が欠落していることに気付きました。
そこで、postgres からテーブル users を削除し、最初の移行 Ruby クラスに新しい列を追加しました。
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :name
t.string :password
t.string :email
t.string :authorization_token //this is the new attribute that I insert
t.datetime :created_at
t.datetime :updated_at
t.timestamps
end
end
def self.down
drop_table :users
end
end
そのため、新しい属性 :authorization_token を使用して新しいユーザー テーブルが作成されるように db:migrate ホッピングを再度実行すると、機能しませんが、エラーは発生しません。
(テーブルを削除すべきではないことはわかっています。別のスマートな方法があります)