ActiveRecord::NotNullViolation: PG::NotNullViolation: ERROR: null value in column "created_at" violates not-null constraint
ActiveRecord::NotNullViolation: PG::NotNullViolation: ERROR: null value in column "created_at" violates not-null constraint
我有一个新模型,这是我的迁移:
def change
create_table :news do |t|
t.string :title
t.text :content
t.timestamps
end
end
这是我的架构
create_table "news", force: :cascade do |t|
t.string "title"
t.text "content"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
end
我也有这个模型的政策(来自专家)和 new_policy_test,但是,目前两者都是空的。
因此,当通过 Travis 中的测试时,它告诉我:
NewPolicyTest#test_update:
ActiveRecord::NotNullViolation: PG::NotNullViolation: ERROR: null value in column "created_at" violates not-null constraint
DETAIL: Failing row contains (1, MyString, MyText, null, null).
NewPolicyTest#test_update、NewPolicyTest#test_scope、NewPolicyTest#test_show、NewPolicyTest#test_destroy、NewPolicyTest#test_create。
我应该怎么做才能让 Travis 不给我这个错误?
你应该
t.timestamps
在您的迁移中而不是
t.datetime "created_at", 精度: 6, null: false
t.datetime "updated_at", 精度: 6, null: false
然后它会在创建或更新记录时自动填充字段。
我将 created_at 和 updated_at 灯具添加到我的 news.yml 文件中。
one:
title: MyString
content: MyText
created_at: <%= 5.day.ago.to_s(:db) %>
updated_at: <%= 5.day.ago.to_s(:db) %>
我有一个新模型,这是我的迁移:
def change
create_table :news do |t|
t.string :title
t.text :content
t.timestamps
end
end
这是我的架构
create_table "news", force: :cascade do |t|
t.string "title"
t.text "content"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
end
我也有这个模型的政策(来自专家)和 new_policy_test,但是,目前两者都是空的。
因此,当通过 Travis 中的测试时,它告诉我:
NewPolicyTest#test_update:
ActiveRecord::NotNullViolation: PG::NotNullViolation: ERROR: null value in column "created_at" violates not-null constraint
DETAIL: Failing row contains (1, MyString, MyText, null, null).
NewPolicyTest#test_update、NewPolicyTest#test_scope、NewPolicyTest#test_show、NewPolicyTest#test_destroy、NewPolicyTest#test_create。
我应该怎么做才能让 Travis 不给我这个错误?
你应该
t.timestamps
在您的迁移中而不是
t.datetime "created_at", 精度: 6, null: false t.datetime "updated_at", 精度: 6, null: false
然后它会在创建或更新记录时自动填充字段。
我将 created_at 和 updated_at 灯具添加到我的 news.yml 文件中。
one:
title: MyString
content: MyText
created_at: <%= 5.day.ago.to_s(:db) %>
updated_at: <%= 5.day.ago.to_s(:db) %>