Ruby Rails - 使用 created_at 列创建 Table
Ruby Rails - Make Table With created_at Column
rails 上的 Ruby 具有创建两列的 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
t.datetime :created_at, null: false
就像任何其他专栏一样。 Rails 由于列名,仍将负责魔术更新。
你可以这样做:
def change
create_table :lines_sources do |t|
t.datetime :created_at, null: false
end
end
两次尝试都没有问题,但包含语法错误。
第一次尝试的问题是 t.是数据类型而不是列名。
class CreateLinesSources < ActiveRecord::Migration
def change
create_table :lines_sources do |t|
t.datetime :created_at, null: false
end
end
end
第二次尝试的问题是 remove_column
在 create_table
块内不起作用。您可以将其移出块并提供正确的语法以删除该列。
class CreateLinesSources < ActiveRecord::Migration
def change
create_table :lines_sources do |t|
t.timestamps null: false
end
remove_column :line_sources, :updated_at, :datetime
end
end
Ruby 具有创建两列的 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
t.datetime :created_at, null: false
就像任何其他专栏一样。 Rails 由于列名,仍将负责魔术更新。
你可以这样做:
def change
create_table :lines_sources do |t|
t.datetime :created_at, null: false
end
end
两次尝试都没有问题,但包含语法错误。
第一次尝试的问题是 t.是数据类型而不是列名。
class CreateLinesSources < ActiveRecord::Migration
def change
create_table :lines_sources do |t|
t.datetime :created_at, null: false
end
end
end
第二次尝试的问题是 remove_column
在 create_table
块内不起作用。您可以将其移出块并提供正确的语法以删除该列。
class CreateLinesSources < ActiveRecord::Migration
def change
create_table :lines_sources do |t|
t.timestamps null: false
end
remove_column :line_sources, :updated_at, :datetime
end
end