ruby-on-rails - 为远程数据库运行 rails 迁移的简单方法
问题描述
我有一个 Rails 应用程序,想将我的 Postgres 数据库拆分为远程托管数据库,而不是标准的本地数据库。配置它似乎很容易 - 但是,现在我正在尝试针对这个新数据库运行我的迁移,但事实证明它更加困难。我正在使用 Mina 进行部署,它调用 rake db:migrate 作为部署的一部分。但是,它不会运行迁移,因为它说所有迁移都是最新的,并且我的创建调用找不到表,所以我假设迁移没有在远程数据库上运行。
实现这一目标的最佳方法是什么?我发现的所有其他答案都涉及ActiveRecord::Base.establish_connection(db_params)
在每个迁移和每个模型的顶部添加类似命令的内容。这看起来很荒谬——我现在可能有 75 次迁移。没有更好的办法吗?这甚至是正确的方法,还是我也可以以某种方式使用生成的方案文件?
解决方案
database.yml
您可以使用类似的方式设置数据库凭据。
remote:
adapter: postgresql
host: your.remote.host
database: yourdb
username: user
password: pass
pool: 5
timeout: 5000
locale: en_US.UTF8
然后像这样运行你的迁移
RAILS_ENV=remote rails db:migrate
推荐阅读
- php - PHP中每页保留用户指定结果的分页
- html - 似乎无法获得适合全尺寸的背景图像(HTML,CSS)
- python-3.x - Pandas 条件语句和替换
- makefile - rpmbuild 退出并出现错误:找不到文件
- flutter - 从现有 Flutter 项目中删除 Web 部件
- excel - 来自 UDF 的意外错误,用于检查是否可以找到文件
- python - 在 Windows 上安装张量流时出错
- python - 在开源 Python 脚本中存储我的 API 密钥的位置
- c# - 无法将已执行命令的输出存储在文件 c# 控制台应用程序中
- javascript - Bootstrap Vue b-toast 不会触发第二次