これらの列を持つモデル(および表)があります:id
,,です。このテーブルにはデータがありますが、私はこのテーブルに列created_at
とupdated_at
を追加したいと思います - 誰も私に助けを与えることができます、それを行う方法?つまり、モデルを作成すると、これらの2つの列が自動的に作成され、何かを保存するときに時間情報が常に自動的に挿入されます。Rails - モデルにタイムスタンプを追加するには?
この2つの列に自動挿入時間データを追加できるようになりましたか?
これらの列を持つモデル(および表)があります:id
,,です。このテーブルにはデータがありますが、私はこのテーブルに列created_at
とupdated_at
を追加したいと思います - 誰も私に助けを与えることができます、それを行う方法?つまり、モデルを作成すると、これらの2つの列が自動的に作成され、何かを保存するときに時間情報が常に自動的に挿入されます。Rails - モデルにタイムスタンプを追加するには?
この2つの列に自動挿入時間データを追加できるようになりましたか?
これは、あなたのための移行ファイルを作成します。既存のモデル
rails generate migration add_timestamps_to_users
これにタイムスタンプ列を追加できるようにする必要があります。それを開き、必要な変更
を行いclass AddTimestampsToUsers < ActiveRecord::Migration
# in my example i'm using `users` table; change this to match your table name
def change_table :users do |t|
t.timestamps
end
end
は、その後、あなたのデータベースの移行マセックの答えは右の中核でありながら、彼は(移行のための正しい構文を使用していないことに留意すべきである
rake db:migrate
良い答えです、あなたが修正しているモデルの名前と一致するようにコマンドを変更したいことにも注意してください。 –
新しく作成された列にはデフォルト値があり、 "タイムスタンプ"構文では指定できないため、このソリューションはデータを含むテーブルには適用されません。 – Paul
Paul、既存のレコードの日付/時刻の値はどう思いますか?タイムスタンプ列が存在する前に作成されたレコードには 'null'値で十分だと思います。 –
"変更"メソッドを忘れてしまった)。だからここ
を修正構文を持つ彼の答えです:
これは、あなたがこれはあなたのための移行ファイルを作成します。既存のモデル
rake generate migration add_timestamps_to_users
にタイムスタンプ列を追加できるようにする必要があります。その後
rake db:migrate
add_timestamps
データベースを移行、それを開き、必要な変更
class AddTimestampsToModel < ActiveRecord::Migration
# in my example i'm using `users` table; change this to match your table name
def change
change_table :users do |t|
t.timestamps
end
end
end
を作ることは、この目的のために、専用のメソッドです:
class AddTimestampsToUsers < ActiveRecord::Migration
def change
add_timestamps :users
end
end
だから、あなたが希望の既存のモデルを持っていますタイムスタンプを追加するには?どのバージョンのRailsを使用していますか? –
rails activerecordは自動的にタイムスタンプ列を作成します。なぜタイムスタンプ列を追加したいのですか? – megas
@megas、彼は彼の最初の移行からそれらを削除した可能性があります –