我正在使用OpsWorks(Ubuntu 14.04)首次部署我的应用程序,当迁移运行时,我收到此错误:
无法加载数据库配置。没有这样的文件 - /srv/www/todoapp/releases/20150122121517/config/database.yml
我不明白这个错误,因为我的rails应用程序中有一个/config/database.yml,正在被正确推送到bitbucket。
你可以在这里看到我的.gitignore文件:
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'
# Ignore bundler config.
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
答案 0 :(得分:2)
我相信Amazon Opsworks会覆盖您的database.yml
文件。您必须添加自定义JSON才能配置生产数据库。
无论如何,这是你的JSON应该是什么样的。
{
"deploy": {
"app_short_name": { # this should be the short name Opsworks has given your app.
"database": {
"adapter": "postgresql", # change if you are using mysql
"encoding": "unicode",
"host": "your-host",
"port": "5432", # change if you are using mysql
"database": "your_database_name",
"pool": "10",
"username": "your_database_username",
"password": "your_database_password"
}
}
}
}
您可以在Opsworks堆栈设置中添加它。
Stack
。Stack settings
按钮。以上设置适用于Postgres数据库配置。您可能需要使用mysql进行一些更改..
我使用Amazon RDS postgres数据库进行此设置。 RDS也支持mysql。
希望这有助于您更快地部署应用程序。祝你好运。
答案 1 :(得分:0)
对于使用RDS实例的任何人,请务必: