为管理员用户创建迁移
Creating a Migration for Admin Users
如何创建一个迁移文件来创建具有 "admin" 角色的用户?我写了以下内容:
rails g migration User
如何给这个用户 "admin" 角色?
迁移有两个作用:
- 你的数据库结构的操作
- 你的数据库数据的操作
一般来说,最好在第一种情况下使用它们,并尽量避免第二种情况(这可能会导致升级路径出现问题)。
您的问题不清楚您是否要求创建一个用户 table 具有代表管理权限的列,或者您是否试图将管理用户添加到现有用户 table.
如果您正在尝试创建用户 table,您需要执行以下操作:
rails g model users is_administrator:boolean other_column:type
沿着这些方向的东西将生成一个迁移(和匹配模型),允许创建用户,其中一列包含可以被视为管理权限的内容。
另一方面,如果您已经有一个用户 table,并且正在尝试 添加 的能力区分管理员和 non-administrators,你会更适合这样的东西:
rails g migration add_is_administrator_to_users is_administrator:boolean
最后,如果您询问如何将用户添加到已存在且包含列 "is_administrator" 的 table 用户,我会鼓励您将以下行添加到 db/seeds.rb:
User.create( is_administrator: true, other_column: 'other value' )
然后运行控制台中的以下行
rake db:seed
如果这没有意义,我鼓励您阅读 Active Record Migrations, or (in the case that you choose to leverage the third method) Active Record Seeds。
您可以将用户和管理员放在同一个 table 中,并再添加一个名为 "role" 的列,它将是布尔值,它将决定当前用户是否是管理员
rails g migration user role:boolean name
如果角色为 false,则表示它不是管理员。
如何创建一个迁移文件来创建具有 "admin" 角色的用户?我写了以下内容:
rails g migration User
如何给这个用户 "admin" 角色?
迁移有两个作用:
- 你的数据库结构的操作
- 你的数据库数据的操作
一般来说,最好在第一种情况下使用它们,并尽量避免第二种情况(这可能会导致升级路径出现问题)。
您的问题不清楚您是否要求创建一个用户 table 具有代表管理权限的列,或者您是否试图将管理用户添加到现有用户 table.
如果您正在尝试创建用户 table,您需要执行以下操作:
rails g model users is_administrator:boolean other_column:type
沿着这些方向的东西将生成一个迁移(和匹配模型),允许创建用户,其中一列包含可以被视为管理权限的内容。
另一方面,如果您已经有一个用户 table,并且正在尝试 添加 的能力区分管理员和 non-administrators,你会更适合这样的东西:
rails g migration add_is_administrator_to_users is_administrator:boolean
最后,如果您询问如何将用户添加到已存在且包含列 "is_administrator" 的 table 用户,我会鼓励您将以下行添加到 db/seeds.rb:
User.create( is_administrator: true, other_column: 'other value' )
然后运行控制台中的以下行
rake db:seed
如果这没有意义,我鼓励您阅读 Active Record Migrations, or (in the case that you choose to leverage the third method) Active Record Seeds。
您可以将用户和管理员放在同一个 table 中,并再添加一个名为 "role" 的列,它将是布尔值,它将决定当前用户是否是管理员
rails g migration user role:boolean name
如果角色为 false,则表示它不是管理员。