我在数据库中乱了几下,因为我搞砸了,我想从头开始并再次设置postgresql数据库。
rake db:setup
rake db:migrate
然而,现在我的应用程序中出现了各种错误。将这个损坏的数据库的pg_dump与我在heroku上工作的pg_dump进行比较时,我发现最大的区别是有些id
列没有被定义为我本地的主键数据库(因此在我的本地数据库中定义NOT NULL
列时缺少id
部分。
在我的本地数据库
SEQUENCES
制作id's
比较我的本地机器和heroku上的schema.rb我发现不同之处在于,在我的本地机器上,为这些表和heroku定义了列id
。
所以例如在我的本地机器上我得到了
create_table "pictures", id: false, force: :cascade do |t|
t.integer "id", limit: 8
t.datetime "created_at"
t.datetime "updated_at"
t.text "image"
t.text "image_content_type"
t.integer "image_file_size", limit: 8
t.datetime "image_updated_at"
t.integer "post_id", limit: 8
end
并且在heroku上缺少第一行t.integer id limit:8
。
现在我的两个问题是,