【发布时间】:2023-04-06 14:27:01
【问题描述】:
我正在尝试使用heroku db:push 将我的本地 postgresql 数据库上传到 Heroku 提供的 5Mb 共享数据库。一切正常,但数据库没有反映我在本地数据库上的内容。一些记录被重复,而另一些则丢失了。因此,如果我在本地数据库中有三条记录:
cat, dog, banana
当我使用 db:push 时,我最终得到:
dog, dog, cat
我的数据库有大约 100,000 条记录,总共 3-4 MB。知道如何解决这个问题吗?
我的数据库.yml:
发展:
adapter: postgresql
encoding: unicode
database: myDB
username: myUname
password: myPw
host: localhost
port: 5432
reconnect: true
生产:
adapter: postgresql
encoding: unicode
database: myDBname
username: myUname
password: myPW
host: ec2-23-21-140-215.compute-1.amazonaws.com
我从
获取的所有这些数据库信息heroku config
它给出了一个包含主机、用户名等的数据库 URL。
【问题讨论】:
-
在不透露任何敏感信息的情况下,您能显示您的 database.yml 配置文件中的内容吗?
-
您可能必须指定要推送到生产环境的本地数据库(即 heroku db:push sqlite://local.db)
-
您正在运行哪个 Ruby?我在 Ruby 1.9.3 上遇到了
db:push的问题,但回到 1.9.2 解决了它。 -
是的,我正在使用 1.9.3,我想这可能与它有关,我会尝试降到 1.9.2
-
与 ruby 版本 1.9.2p290 相同。
标签: ruby-on-rails postgresql heroku