Ruby on rails 如何在生产中向rails应用程序添加数据?
我将手动添加一些用户(因为我想让他们成为管理员,例如Ruby on rails 如何在生产中向rails应用程序添加数据?,ruby-on-rails,Ruby On Rails,我将手动添加一些用户(因为我想让他们成为管理员,例如user.admin=true。以前,在开发中,我使用seeds来实现这一点,但我相信(如果我错了,请纠正我)你不应该在生产中以这种方式使用种子。我还应该做什么?有很多选择,每个都有各自的优缺点 在Rails控制台中设置用户 优点:简单,可根据需要定制 缺点:不可复制 在迁移中添加用户 优点:如果这是一个新表或其他表中存在相关数据,则可以在迁移过程中立即设置新数据 缺点:不是迁移脚本的标准用法 使用rake任务设置用户 优点:复制步
user.admin=true
。以前,在开发中,我使用seeds来实现这一点,但我相信(如果我错了,请纠正我)你不应该在生产中以这种方式使用种子。我还应该做什么?有很多选择,每个都有各自的优缺点
- 在Rails控制台中设置用户
- 优点:简单,可根据需要定制
- 缺点:不可复制
- 在迁移中添加用户
- 优点:如果这是一个新表或其他表中存在相关数据,则可以在迁移过程中立即设置新数据
- 缺点:不是迁移脚本的标准用法
- 使用rake任务设置用户
- 优点:复制步骤的代码将被签入回购协议
- 缺点:如果您只想做一次,那么rake任务就太过了
最好的解决方案可能是在应用程序的
scripts/
目录中添加一个脚本,详细说明步骤,让您的团队审阅此代码,然后使用它运行。有许多选项,每个选项都有各自的优缺点
- 在Rails控制台中设置用户
- 优点:简单,可根据需要定制
- 缺点:不可复制
- 在迁移中添加用户
- 优点:如果这是一个新表或其他表中存在相关数据,则可以在迁移过程中立即设置新数据
- 缺点:不是迁移脚本的标准用法
- 使用rake任务设置用户
- 优点:复制步骤的代码将被签入回购协议
- 缺点:如果您只想做一次,那么rake任务就太过了
最好的解决方案可能是在应用程序的
scripts/
目录中添加一个脚本,详细说明步骤,让您的团队审阅此代码,然后使用运行。您有权访问生产命令行吗?如果您使用的是Heroku,则可以执行以下操作:
$ heroku run rails console
> user = User.new
> user.name = "The name"
// repeat for all other fields
> user.admin = true
> user.save
或者,如果您在数据库中已经将它们作为非管理员
$ heroku run rails console
> user = User.find_by(name: "Their Name")
> user.update_attribute(:admin, true)
您有权访问生产命令行吗?如果您使用Heroku,您可以执行以下操作:
$ heroku run rails console
> user = User.new
> user.name = "The name"
// repeat for all other fields
> user.admin = true
> user.save
或者,如果您在数据库中已经将它们作为非管理员
$ heroku run rails console
> user = User.find_by(name: "Their Name")
> user.update_attribute(:admin, true)
您的生产环境使用哪台服务器?Apache?Heroku?您的生产环境使用哪台服务器?Apache?Heroku?