我已经将我的带有MySQL数据库的Rails3.1应用程序部署到了Heroku上,一切都很正常。我的意思是,将字符保存到数据库中是正确的(似乎是在Heroku上的数据库中使用UTF字符集)。
但是当我运行heroku db:pull命令时(这个命令会将整个数据库从Heroku下载到本地主机上的数据库中),所以存储在数据库中的下载数据有错误的编码-字符显示错误(看起来我本地的MySQL数据库有一个不同于Heorku上的MySQL的字符集设置)。
谁能给我一个提示,我如何才能找到在Heroku数据库上使用的字符集的设置,以及如何在我的本地MySQL数据库上使用它?
非常感谢!
发布于 2011-12-23 01:52:15
并不是所有的东西都丢失了--如果你不想使用PostgreSQL,你真的不需要使用它。
如果你的数据库足够小(因为Heroku PostGres DB也是5Mb),并且你更喜欢留在mySQL上,那么你可以使用ClearDB mySQL addon - http://addons.heroku.com/cleardb -他们的入门级数据库是免费的,并且与你默认获得的Heroku共享PostGres数据库的大小相同,但要注意连接的数量是有限的,所以不要为你的web dyno计数而疯狂。
添加插件后,如果您查看heroku config的输出,则可以使用DATABASE_URL在本地使用您最喜欢的mySQL管理工具创建连接,以便将etc数据恢复/备份到ClearDB。你甚至可能会发现heroku db:push可以工作,但我个人没有尝试过,所以这只是猜测。
发布于 2011-12-22 21:26:45
问题是Heroku在生产中使用的不是MySQL数据库,而是PostgreSQL数据库。
因此,您将遇到从不同数据库引擎拉取和推送数据的各种问题。Taps是一个基于主动记录的过程,它将减少这个问题,但不是所有的时间。
理想情况下,您希望在开发计算机上使用PostgresSQL (为了在OSX上简单起见,请通过Homebrew安装),这样就不会再出现这样的问题。
或者,按照问题注释中的说明,使用其中一个MySQL插件。
https://stackoverflow.com/questions/8604232
复制相似问题