更改iroku app

时间:2017-11-20 01:53:07

标签: ruby-on-rails heroku activerecord rails-activerecord irb

我在heroku上有一个应用程序,我需要改变它。

我的应用程序是rails应用程序上的ruby,我使用设计宝石登录和cancancan宝石的权威和abilites用户和管理员。

我的本​​地开发环境是使用sqlite,而heroku生产方使用的是postgres。

当我将我的应用程序部署到heroku时,没有任何数据库内容转移过来。所以我需要手动使用heroku为应用程序提供的irb活动记录,以便我可以更改用户表中的角色列,使“role:nil”更改为“role:admin”

这就是我目前在我的heroku irb中的样子

User.find(1)
  User Load (1.1ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2  [["id", 1], ["LIMIT", 1]]
=> #<User id: 1, email: "tutu@tutu.com", created_at: "2017-11-16 14:58:23", updated_at: "2017-11-16 14:58:23", role: nil>
irb(main):009:0> User.find_by_role(nil)

如何使用irb控制台将角色列从“nil”更改为“admin”?

我应该在irb中使用哪些命令将用户列“角色”从“role:nil”更改为“role:admin”?

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找其中一个

var array1 = [{ id: 2, detail: 2 }, { id: 4, detail: 5 }],
    array2 = [{ no: 1 }, { no: 4 }, { no: 7 }]
    no = new Set(array2.map(o => o.no)),
    result = array1.filter(o => no.has(o.id));
    
console.log(result);

OR

User.where(role: nil).update_all(role: "admin") # Updates all users which have a nil role.