Ruby on rails Heroku数据库和本地数据库之间的差异

Ruby on rails Heroku数据库和本地数据库之间的差异,ruby-on-rails,postgresql,heroku,Ruby On Rails,Postgresql,Heroku,我的Heroku数据库中有一些奇怪的行为。当我在本地Rails应用程序中提交表单时,它会正常存储: (0.2ms) BEGIN SQL (0.5ms) INSERT INTO "gamerounds" ("created_at", "end_date", "number", "period_id", "processed", "start_date", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING "id" [["c

我的Heroku数据库中有一些奇怪的行为。当我在本地Rails应用程序中提交表单时,它会正常存储:

(0.2ms)  BEGIN
SQL (0.5ms)  INSERT INTO "gamerounds" ("created_at", "end_date", "number", "period_id", "processed", "start_date", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING "id"  [["created_at", Fri, 03 Jan 2014 09:18:26 CET +01:00], ["end_date", Wed, 02 Mar 2011 00:00:00 CET +01:00], ["number", 46], ["period_id", 3], ["processed", false], ["start_date", Sat, 02 Apr 2011 00:00:00 CEST +02:00], ["updated_at", Fri, 03 Jan 2014 09:18:26 CET +01:00]]
(0.3ms)  COMMIT
当我在Heroku应用程序上执行相同的操作时,相同的代码,相同的数据库,我得到以下错误:

Started POST "/gamerounds" for 77.250.108.220 at 2014-01-03 08:15:05 +0000
ActiveRecord::StatementInvalid (PG::Error: ERROR:  relation "gamerounds" does not exist at character 13
INSERT INTO "gamerounds" ("created_at", "end_date", "number", "period_id", "processed", "start_date", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING "id"):
app/controllers/clubs_frenzy/gamerounds_controller.rb:22:in `create'

当我用select*from gamerounds创建Postgres数据剪辑时;在Heroku上,它只返回包含记录的表,没有问题。我恢复了Heroku上的本地数据库,所以它们完全相同。如果代码和数据库都相同,会出现什么问题?

尝试运行以下命令

heroku run rake db:reset
heroku run rake db:migrate
heroku restart

@Jhon post您的创建方法代码看起来您没有迁移Heroku数据库。这样做时我不会丢失所有数据吗?然后保留第一个命令,执行migrate和restart命令