如何覆盖 Rails 中 rake 任务的数据库连接信息?
我有一个rails rake 任务,我希望它忽略database.yml 中的内容并使用其他内容。我该怎么做?
I have a rails rake task and I want it to ignore what is in database.yml and use something else. How do I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
ActiveRecord::Base.assessment_connection
在 Rake 任务中设置数据库连接,如 在这个问题中。或者创建一个单独的环境并将数据库配置添加到
database.yml
。然后使用rake mytask RAILS_ENV=myenvironment
调用 rake 任务You can use
ActiveRecord::Base.establish_connection
to set up a database connection within a Rake task, as described in this SO question.Or create a separate environment and add the database configuration to
database.yml
. Then call the rake task withrake mytask RAILS_ENV=myenvironment
您还可以使用以下格式直接访问 rake 任务内的数据库:
You can also have direct access to the database inside a rake task by using this format: