【发布时间】:2016-09-04 19:04:27
【问题描述】:
我的应用在生产环境中运行良好,但是当我转移到生产环境并运行“heroku run rake db:migrate”时,我收到以下错误:
PG::UndefinedTable: ERROR: table "applications" does not exist
Migrating to DropApplications (20160509013805)
(0.8ms) BEGIN
== 20160509013805 DropApplications: migrating =================================
-- drop_table(:applications)
(1.1ms) DROP TABLE "applications"
(0.5ms) ROLLBACK
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedTable: ERROR: table "applications" does not exist
: DROP TABLE "applications"
但是,我的数据库中有一个“应用程序”表。下降可能与前几天我下降然后重新制作应用程序支架有关。我该如何解决这个问题?
create_table "applications", force: :cascade do |t|
t.string "name"
t.string "gender"
t.date "date_of_birth"
t.string "gpa"
t.text "essay"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
所以当我运行 run rake:db setup 时,我会看到以下结果:
Status Migration ID Migration Name
--------------------------------------------------
up 20160505200754 ********** NO FILE **********
up 20160508234634 Create users
up 20160508234945 Add devise to users
up 20160509013805 ********** NO FILE **********
up 20160509014328 ********** NO FILE **********
20160509014911 Create applications
我试图删除“创建应用程序”之前的两个。所以,我尝试像这样耙heroku db: $ heroku run rake --trace db:migrate VERSION=20151127134901 但我仍然收到“删除表”的错误 - 它试图进行 20160509013805 迁移。如何在它说没有文件的地方完全删除那些迁移,这样它也不会尝试耙那些?提前谢谢你。
【问题讨论】:
-
这有助于并让我走上正轨……我想。我刚刚更新了原始帖子,如果可以的话,请看一下
-
添加了答案,请检查并告诉我。
标签: ruby-on-rails ruby postgresql heroku database-migration