我的应用程序在生产环境中运行良好,但当我转到生产环境并运行“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
因此,当我运行rake:db安装程序时,我会看到以下结果:
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数据库进行rake:$heroku运行rake--trace db:migrate VERSION=20151127134901,但我仍然得到“drop tables”的错误——它试图执行2016050901303805迁移。我怎样才能完全删除那些没有文件的迁移,这样它就不会试图去清理这些文件了?先谢谢你。
我有这个问题,但我所要做的就是运行heroku运行rake db:migrate,因为自从上次推到heroku后,我已经更改了我的数据库。
重置heroku db:
Heroku不允许删除db。相反,您应该执行heroku pg:reset
。此命令需要您指定可通过heroku pg:info,
找到的数据库,然后您将获得如下输出:
=== DATABASE_URL
Plan: Hobby-dev
Status: Available
Connections: 0/20
PG Version: 9.4.4
Created: 2015-10-11 23:14 UTC
Data Size: 6.7 MB
Tables: 5
Rows: 0/10000 (In compliance)
Fork/Follow: Unsupported
Rollback: Unsupported
Add-on: postgresql-cubed-1838
一旦你得到了像上面一样的输出,使用heroku pg:重置命令,附加“附加”字段值。例如,我会这样做:
$ heroku pg:reset postgresql-cubed-1838
迁移文件中可能存在问题。如果您删除了一个但另一个相应的文件仍然存在,则会导致此错误。我本想发表评论,但我还没有这个名声。
问题内容: 我正在尝试应用迁移,但出现错误: django.db.utils.OperationalError:(1050,“表’customers_customer’已经存在”) 我通过发出以下命令来获取此信息: 我的客户表已经存在,那么该怎么做才能让迁移知道这一点,而不是出错,然后对模型进行修改? 我在本地环境的本地数据库上运行了此文件,没有问题。当我将数据库指向生产环境并在上面运行时,出现此
问题内容: 我在PHP中收到以下错误 注意未定义的偏移量1:在C:\ wamp \ www \ includes \ imdbgrabber.php第36行中 这是导致它的PHP代码: 错误是什么意思? 问题答案: 如果找不到匹配项,则为空数组。因此,您应该在访问之前检查是否找到了匹配项,例如:
Laravel版本:5.7 PHP版本: 7.2.9 数据库驱动程序 说明上次迁移创建表,但未在迁移表中注册 繁殖步骤我有14个迁移。如果我运行的表被创建,但没有注册为运行迁移我已经丢弃了家庭数据库几次 我的迁移状态表 最终,当我想刷新、回滚或迁移以进行开发时,我会收到这样一个错误,告诉我表存在,但不在迁移中 Illumb\Database\QueryException:SQLSTATE[42S0
我将Rails5与PostgreSQL一起部署,以便在Heroku中免费应用程序。这是我在中的配置:
问题内容: 在配置hibernate.cfg.xml中,我添加 Hibernate并在运行应用程序时自动创建表。但是,我通过运行drop table sql从数据库中手动删除该表。然后再次运行hibernate应用程序。出现异常 引起原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表’test.person’不存在 解决该问
我有一个Rails4.2和mysql数据库的项目。但当我执行<code>heroku运行rake db:migrate<code>时,结果是: 我的电脑里没有垃圾箱。 在我的heroku日志中,我有两个错误: