我剛剛爲Heroku部署了一個簡單的Ruby on Rails(3.0.10)應用程序。有一行代碼像這樣創建一個新的User對象。Heroku ActiveRecord錯誤:PgSQL在id字段中輸入null
User.create(:name => "[name here]", :email => "[email here]")
它可以運行在我的本地機器,這是使用MySQL。在將它部署到Heroku後,我收到了一個錯誤。
ActiveRecord::StatementInvalid: PGError: ERROR: null value in column "id" violates not-null constraint : INSERT INTO "users" ("id", "name", "email", "created_at", "updated_at") VALUES (NULL, '[name here]', '[email here]', '2011-09-28 03:59:12.908593', '2011-09-28 03:59:12.908593') RETURNING "id"
我不知道我的代碼有什麼問題。我錯過了什麼嗎?
謝謝大家。
UPDATE
遷移
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :email
t.string :name
t.timestamps
end
end
def self.down
drop_table :users
end
end
架構
ActiveRecord::Schema.define(:version => 20110922071106) do
create_table "users", :force => true do |t|
t.string "email"
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
end
end
更新。謝謝。 :) –
是。我知道,但我擔心沒有任何生產配置。它是如此奇怪....我有一個更深的檢查....將更新在這裏儘快...... –