我可以使用个人 Web 服务器上的 mysql 数据库而不是 heroku 的数据库吗?
我这样配置我的生产数据库:
production:
adapter: mysql2
database: somedatabase
username: someusername
password: somepassword
host: 1.1.1.1:1234
但是,这不起作用,我的应用程序仍然使用 heroku 的共享数据库。
这已经很旧了,但如果有人四处寻找答案,它比使用 gem 容易得多。只需提供一个DATABASE_URL
and SHARED_DATABASE_URL
(不确定是否需要第二个)。数据库url格式为adapter://username:password@hostname:port/database
,例如,您会这样做:
heroku config:add DATABASE_URL=mysql://etok:somepassword@<your-server>:3306/etok
heroku config:add SHARED_DATABASE_URL=mysql://etok:[email protected] /cdn-cgi/l/email-protection:3306/etok
然后重新部署您的应用程序。它会读取你的DATABASE_URL
并从中生成database.yml。默认端口已经是 3306,因此您的情况下的 url 中不需要它。部署时,您可能会注意到它生成了database.yml:
-----> Writing config/database.yml to read from DATABASE_URL
然后你就设置好了(只要你的服务器接受来自heroku主机的连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)