【问题标题】:What MySQL permissions do I need to provide/remove to prevent Rails' db:reset?我需要提供/删除哪些 MySQL 权限以防止 Rails 的 db:reset?
【发布时间】:2018-03-20 16:53:45
【问题描述】:

我的目标是禁用用户在生产机器上调用rake db:reset 的选项。

有没有办法通过 MySQL 用户权限来做到这一点(防止用户进行破坏性查询)?有没有办法将任务仅限于管理帐户?有没有更好的方法来解决这个问题?

【问题讨论】:

标签: mysql ruby-on-rails ruby


【解决方案1】:

您可能希望从 Rails 数据库用户中删除 DROP privilege

请记住,当您想要删除表时,也需要 DROP 权限。

也就是说:删除DROP 权限将使您失去在迁移中运行drop_table 的可能性。这可能不是一个选项,或者它实际上可能是一件好事 - 这取决于您的要求。

【讨论】:

  • 您始终可以使用 Rails DATABASE_URL env var 以更高权限的用户身份连接到数据库以执行迁移。
  • 我会在测试后确认这个答案;感谢您的回复!
猜你喜欢
  • 2014-08-28
  • 1970-01-01
  • 2015-12-28
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2020-04-06
  • 2016-07-15
  • 2012-03-11
相关资源
最近更新 更多