我能够使用 MySQL(本地开发)将我的 Ruby on Rails 应用程序推送到 Heroku 服务器,同时使用命令迁移我的模型heroku rake db:migrate
。我还阅读了有关Database Import/Export的文档。该文档是指将实际数据从我的本地开发数据库推送到 Heroku 的任何数据库吗?我是否需要修改文件中的任何内容database.yml
才能实现?
我运行了以下命令:
heroku db:push
我得到了错误:
Sending data
2 tables, 3 records
!!! Caught Server Exception | ETA: --:--:--
Taps Server Error: PGError ERROR: duplicate key value violates unique constraint
"unique_schema_migrations"
我有 2 个表,一个是为我的应用程序创建的,另一个是为我的应用程序创建的schema_migrations
。2 个表中的条目总数为 3。我还打印了我创建的表中的条目数,它显示为 0。
任何想法我可能会错过什么或我做错了什么?
编辑:
我想通了上面,Heroku 的数据库已经有了schema_migrations
我运行迁移的那一刻。
新问题:有谁知道我如何排除特定表中的数据被推送到 Heroku DB。在这种情况下要排除的表将是schema_migrations
。
不太好的解决方案:我四处搜索,其他人也遇到了同样的问题。schema_migrations
他建议将表命名为zschema_migrations
. 这样,来自其他表的数据将被正确推送,直到它在最后一个表上失败。这是一个非常糟糕的解决方案,但暂时可以。
更好的解决方案是使用现有的 Rails 命令,该命令可以从数据库中重置特定表。我不认为Rake
可以这样做。