Ruby on rails具有t.timestamps方法,该方法创建两列,created_at和updated_at . 我怎样才能创建created_at列?
这很有效
class CreateLinesSources < ActiveRecord::Migration
def change
create_table :lines_sources do |t|
t.timestamps null: false
end
end
end
这两个我想工作但失败了
class CreateLinesSources < ActiveRecord::Migration
def change
create_table :lines_sources do |t|
t.created_at null: false
end
end
end
和
class CreateLinesSources < ActiveRecord::Migration
def change
create_table :lines_sources do |t|
t.timestamps null: false
remove_column updated_at
end
end
end
3 回答
两次尝试都没问题,但包含语法错误 .
第一次尝试的问题是t . 是基于数据类型而不是列名 .
第二次尝试的问题是
remove_column
在create_table
块内不起作用 . 您可以将其移出块外,并提供正确的语法来删除列 .就像任何其他专栏一样 . 由于列名,Rails仍然会处理魔术更新 .
你可以做: