我有一个包含以下列的模型(和表):id
,name
,city
。在此表中有数据,我想在此表中添加列created_at
和updated_at
- 任何人都可以给我一个帮助,怎么做?我的意思是 - 如果我创建一个模型,那么这两个列是自动创建的,并且当我保存一些东西时,总是自动插入时间信息。
现在可以使用自动插入时间数据添加这两列吗?
答案 0 :(得分:13)
这应该允许您将时间戳列添加到现有模型
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
答案 1 :(得分:12)
应该注意的是,虽然maček的答案是正确的,但他没有使用正确的语法进行迁移(忘记了“更改”方法)。
所以这是他更正语法的答案:
这应该允许您将时间戳列添加到现有模型
rake generate migration add_timestamps_to_users
这将为您创建一个迁移文件。打开它并进行必要的更改
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
然后迁移您的数据库
rake db:migrate
答案 2 :(得分:7)
add_timestamps
是用于此目的的专用方法:
class AddTimestampsToUsers < ActiveRecord::Migration
def change
add_timestamps :users
end
end