我可以从我的个人网络服务器使用mysql数据库而不是heroku的数据库吗?
我将生产数据库配置为:
production:
adapter: mysql2
database: somedatabase
username: someusername
password: somepassword
host: 1.1.1.1:1234
但是,这不起作用,我的应用程序仍然使用heroku的共享数据库.
我可以从我的个人网络服务器使用mysql数据库而不是heroku的数据库吗?
我将生产数据库配置为:
production:
adapter: mysql2
database: somedatabase
username: someusername
password: somepassword
host: 1.1.1.1:1234
但是,这不起作用,我的应用程序仍然使用heroku的共享数据库.
这很古老,但如果有人来找答案,这比使用gem容易得多.只需提供DATABASE_URL
和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:somepassword@79.101.41.213:3306/etok
然后重新部署你的apply.它将读取你的DATABASE_URL
并生成数据库.yml从那开始.默认端口已经是3306,因此在您的 case 中,url中不需要它.部署时,您可能会注意到它会生成数据库.yml:
-----> Writing config/database.yml to read from DATABASE_URL
然后设置好(只要服务器接受来自heroku主机的连接).