Ruby on rails Rails通过多个具有名称空间模型的多态性
下面是我的课程和迁移。不确定我做错了什么,是否设置了错误的关联,或者我没有使用正确的属性/方法返回我期望的记录。例如,如何获取Ruby on rails Rails通过多个具有名称空间模型的多态性,ruby-on-rails,ruby,namespaces,has-many-through,polymorphic-associations,Ruby On Rails,Ruby,Namespaces,Has Many Through,Polymorphic Associations,下面是我的课程和迁移。不确定我做错了什么,是否设置了错误的关联,或者我没有使用正确的属性/方法返回我期望的记录。例如,如何获取帐户的所有成员(super\u admin\u用户、admin\u用户和标准用户)的列表?在Rails控制台中,如果我尝试Accounts::Account.first.users\u Account\u members,我会得到以下结果: 2.4.0 :003 > Accounts::Account.first.users_account_members Acco
帐户的所有成员(super\u admin\u用户
、admin\u用户
和标准用户
)的列表?在Rails控制台中,如果我尝试Accounts::Account.first.users\u Account\u members
,我会得到以下结果:
2.4.0 :003 > Accounts::Account.first.users_account_members
Accounts::Account Load (0.6ms) SELECT "accounts_accounts".* FROM "accounts_accounts" ORDER BY "accounts_accounts"."id" ASC LIMIT $1 [["LIMIT", 1]]
NoMethodError: undefined method `users_account_members' for #<Accounts::Account:0x007fcb10cce7b8>
2.4.0 :004 > Accounts::Account.first.users_super_admin_users
Accounts::Account Load (0.6ms) SELECT "accounts_accounts".* FROM "accounts_accounts" ORDER BY "accounts_accounts"."id" ASC LIMIT $1 [["LIMIT", 1]]
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column accounts_account_memberships.accounts_account_type does not exist
其中,通过查找accounts\u account\u memberships.accounts\u account\u type
,当只有用户端是多态的时,似乎关联的accounts\u account
端是多态的
此外,反过来说,我如何获得所有帐户的列表
某个超级管理员用户
(或管理员用户
,或标准用户
)是的成员
以下是我的关联类及其迁移:
module Accounts
class Account < ApplicationRecord
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', dependent: :destroy, foreign_key: :accounts_account_id
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: "Users::SuperAdminUser"
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: "Users::AdminUser"
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: "Users::StandardUser"
def users_account_members
self.users_super_admin_users + self.users_admin_users + self.users_standard_users
end
end
end
module Accounts
class AccountMembership < ApplicationRecord
belongs_to :accounts_account, class_name: 'Accounts::Account'
belongs_to :users_account_member, polymorphic: true
end
end
module Users
class SuperAdminUser < ApplicationRecord
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, as: :users_account_member
end
end
module Users
class AdminUser < ApplicationRecord
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, as: :users_account_member
end
end
module Users
class StandardUser < ApplicationRecord
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, as: :users_account_member
end
end
app/models/accounts/account.rb
module Accounts
class Account < ActiveRecord::Base
self.table_name = 'accounts_accounts'
belongs_to :users_account_owner, class_name: 'Users::SuperAdminUser', inverse_of: :accounts_owned_accounts
accepts_nested_attributes_for :users_account_owner
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :accounts_account, dependent: :destroy
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::SuperAdminUser'
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::AdminUser'
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::StandardUser'
end
end
module Users
class SuperAdminUser < ApplicationRecord
self.table_name = 'users_super_admin_users'
has_many :accounts_owned_accounts, class_name: 'Accounts::Account', inverse_of: :users_account_owner, foreign_key: :users_account_owner_id
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class AdminUser < ApplicationRecord
self.table_name = 'users_admin_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class StandardUser < ApplicationRecord
self.table_name = 'users_standard_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Accounts
class AccountMembership < ActiveRecord::Base
self.table_name = 'accounts_account_memberships'
belongs_to :accounts_account, class_name: 'Accounts::Account', inverse_of: :accounts_account_memberships
belongs_to :users_account_member, polymorphic: true
end
end
class CreateUsersSuperAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_super_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersStandardUser < ActiveRecord::Migration[5.0]
def change
create_table :users_standard_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateAccountsAccount < ActiveRecord::Migration[5.0]
def change
create_table :accounts_accounts do |t|
t.string :name, index: { unique: true }
t.references :users_account_owner, index: true, foreign_key: { to_table: :users_super_admin_users }
t.timestamps null: false
end
end
end
class CreateAccountsAccountMembership < ActiveRecord::Migration[5.0]
def change
create_table :accounts_account_memberships do |t|
t.references :accounts_account, index: { name: 'index_accts_acct_mbrships_on_accts_acct_id' }
t.references :users_account_member, polymorphic: true, index: { name: 'index_accts_acct_mbrships_on_users_acct_member_type_and_id' }
t.timestamps null: false
end
end
end
Users::SuperAdminUser.create(email: 'garnold0@spotify.com', first_name: 'Gregory', last_name: 'Arnold', username: 'garnold0')
Users::SuperAdminUser.create(email: 'lsanders1@time.com', first_name: 'Lisa', last_name: 'Sanders', username: 'lsanders1')
Users::SuperAdminUser.create(email: 'ssanders2@ucsd.edu', first_name: 'Scott', last_name: 'Sanders', username: 'ssanders2')
Users::SuperAdminUser.create(email: 'aroberts3@g.co', first_name: 'Anthony', last_name: 'Roberts', username: 'aroberts3')
Users::SuperAdminUser.create(email: 'probinson4@bandcamp.com', first_name: 'Paula', last_name: 'Robinson', username: 'probinson4')
Users::SuperAdminUser.create(email: 'ncruz5@huffingtonpost.com', first_name: 'Nicole', last_name: 'Cruz', username: 'ncruz5')
Users::SuperAdminUser.create(email: 'gandrews6@cyberchimps.com', first_name: 'George', last_name: 'Andrews', username: 'gandrews6')
Users::SuperAdminUser.create(email: 'nwilson7@deviantart.com', first_name: 'Nicole', last_name: 'Wilson', username: 'nwilson7')
Users::SuperAdminUser.create(email: 'aedwards8@qq.com', first_name: 'Anne', last_name: 'Edwards', username: 'aedwards8')
Users::SuperAdminUser.create(email: 'rdavis9@geocities.jp', first_name: 'Ronald', last_name: 'Davis', username: 'rdavis9')
Users::AdminUser.create(email: 'lhawkinsa@icio.us', first_name: 'Lisa', last_name: 'Hawkins', username: 'lhawkinsa')
Users::AdminUser.create(email: 'htaylorb@imdb.com', first_name: 'Helen', last_name: 'Taylor', username: 'htaylorb')
Users::AdminUser.create(email: 'gtaylorc@unblog.fr', first_name: 'Gregory', last_name: 'Taylor', username: 'gtaylorc')
Users::AdminUser.create(email: 'hlaned@whitehouse.gov', first_name: 'Henry', last_name: 'Lane', username: 'hlaned')
Users::AdminUser.create(email: 'hphillipse@howstuffworks.com', first_name: 'Harry', last_name: 'Phillips', username: 'hphillipse')
Users::AdminUser.create(email: 'jgonzalesf@com.com', first_name: 'Jeffrey', last_name: 'Gonzales', username: 'jgonzalesf')
Users::AdminUser.create(email: 'ljamesg@sfgate.com', first_name: 'Lori', last_name: 'James', username: 'ljamesg')
Users::AdminUser.create(email: 'rhillh@gnu.org', first_name: 'Roger', last_name: 'Hill', username: 'rhillh')
Users::AdminUser.create(email: 'rharveyi@tripadvisor.com', first_name: 'Raymond', last_name: 'Harvey', username: 'rharveyi')
Users::AdminUser.create(email: 'sperryj@mit.edu', first_name: 'Stephen', last_name: 'Perry', username: 'sperryj')
Users::StandardUser.create(email: 'mblackk@prnewswire.com', first_name: 'Michelle', last_name: 'Black', username: 'mblackk')
Users::StandardUser.create(email: 'ghamiltonl@sciencedirect.com', first_name: 'Gary', last_name: 'Hamilton', username: 'ghamiltonl')
Users::StandardUser.create(email: 'cgraym@about.com', first_name: 'Chris', last_name: 'Gray', username: 'cgraym')
Users::StandardUser.create(email: 'jbradleyn@wikispaces.com', first_name: 'Jacqueline', last_name: 'Bradley', username: 'jbradleyn')
Users::StandardUser.create(email: 'jpayneo@netscape.com', first_name: 'Joseph', last_name: 'Payne', username: 'jpayneo')
Users::StandardUser.create(email: 'drodriguezp@apache.org', first_name: 'Debra', last_name: 'Rodriguez', username: 'drodriguezp')
Users::StandardUser.create(email: 'jkellyq@alexa.com', first_name: 'Jonathan', last_name: 'Kelly', username: 'jkellyq')
Users::StandardUser.create(email: 'creynoldsr@wired.com', first_name: 'Cheryl', last_name: 'Reynolds', username: 'creynoldsr')
Users::StandardUser.create(email: 'kbarness@pbs.org', first_name: 'Kathleen', last_name: 'Barnes', username: 'kbarness')
Users::StandardUser.create(email: 'ahansent@chron.com', first_name: 'Annie', last_name: 'Hansen', username: 'ahansent')
Accounts::Account.create(name: 'Ooba', users_account_owner_id: 1)
Accounts::Account.create(name: 'Avamba', users_account_owner_id: 2)
Accounts::Account.create(name: 'Linktype', users_account_owner_id: 3)
Accounts::Account.create(name: 'Brainsphere', users_account_owner_id: 4)
Accounts::Account.create(name: 'Wordtune', users_account_owner_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 10)
模块帐户
类帐户
app/models/users/super\u admin\u user.rb
module Accounts
class Account < ActiveRecord::Base
self.table_name = 'accounts_accounts'
belongs_to :users_account_owner, class_name: 'Users::SuperAdminUser', inverse_of: :accounts_owned_accounts
accepts_nested_attributes_for :users_account_owner
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :accounts_account, dependent: :destroy
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::SuperAdminUser'
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::AdminUser'
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::StandardUser'
end
end
module Users
class SuperAdminUser < ApplicationRecord
self.table_name = 'users_super_admin_users'
has_many :accounts_owned_accounts, class_name: 'Accounts::Account', inverse_of: :users_account_owner, foreign_key: :users_account_owner_id
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class AdminUser < ApplicationRecord
self.table_name = 'users_admin_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class StandardUser < ApplicationRecord
self.table_name = 'users_standard_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Accounts
class AccountMembership < ActiveRecord::Base
self.table_name = 'accounts_account_memberships'
belongs_to :accounts_account, class_name: 'Accounts::Account', inverse_of: :accounts_account_memberships
belongs_to :users_account_member, polymorphic: true
end
end
class CreateUsersSuperAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_super_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersStandardUser < ActiveRecord::Migration[5.0]
def change
create_table :users_standard_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateAccountsAccount < ActiveRecord::Migration[5.0]
def change
create_table :accounts_accounts do |t|
t.string :name, index: { unique: true }
t.references :users_account_owner, index: true, foreign_key: { to_table: :users_super_admin_users }
t.timestamps null: false
end
end
end
class CreateAccountsAccountMembership < ActiveRecord::Migration[5.0]
def change
create_table :accounts_account_memberships do |t|
t.references :accounts_account, index: { name: 'index_accts_acct_mbrships_on_accts_acct_id' }
t.references :users_account_member, polymorphic: true, index: { name: 'index_accts_acct_mbrships_on_users_acct_member_type_and_id' }
t.timestamps null: false
end
end
end
Users::SuperAdminUser.create(email: 'garnold0@spotify.com', first_name: 'Gregory', last_name: 'Arnold', username: 'garnold0')
Users::SuperAdminUser.create(email: 'lsanders1@time.com', first_name: 'Lisa', last_name: 'Sanders', username: 'lsanders1')
Users::SuperAdminUser.create(email: 'ssanders2@ucsd.edu', first_name: 'Scott', last_name: 'Sanders', username: 'ssanders2')
Users::SuperAdminUser.create(email: 'aroberts3@g.co', first_name: 'Anthony', last_name: 'Roberts', username: 'aroberts3')
Users::SuperAdminUser.create(email: 'probinson4@bandcamp.com', first_name: 'Paula', last_name: 'Robinson', username: 'probinson4')
Users::SuperAdminUser.create(email: 'ncruz5@huffingtonpost.com', first_name: 'Nicole', last_name: 'Cruz', username: 'ncruz5')
Users::SuperAdminUser.create(email: 'gandrews6@cyberchimps.com', first_name: 'George', last_name: 'Andrews', username: 'gandrews6')
Users::SuperAdminUser.create(email: 'nwilson7@deviantart.com', first_name: 'Nicole', last_name: 'Wilson', username: 'nwilson7')
Users::SuperAdminUser.create(email: 'aedwards8@qq.com', first_name: 'Anne', last_name: 'Edwards', username: 'aedwards8')
Users::SuperAdminUser.create(email: 'rdavis9@geocities.jp', first_name: 'Ronald', last_name: 'Davis', username: 'rdavis9')
Users::AdminUser.create(email: 'lhawkinsa@icio.us', first_name: 'Lisa', last_name: 'Hawkins', username: 'lhawkinsa')
Users::AdminUser.create(email: 'htaylorb@imdb.com', first_name: 'Helen', last_name: 'Taylor', username: 'htaylorb')
Users::AdminUser.create(email: 'gtaylorc@unblog.fr', first_name: 'Gregory', last_name: 'Taylor', username: 'gtaylorc')
Users::AdminUser.create(email: 'hlaned@whitehouse.gov', first_name: 'Henry', last_name: 'Lane', username: 'hlaned')
Users::AdminUser.create(email: 'hphillipse@howstuffworks.com', first_name: 'Harry', last_name: 'Phillips', username: 'hphillipse')
Users::AdminUser.create(email: 'jgonzalesf@com.com', first_name: 'Jeffrey', last_name: 'Gonzales', username: 'jgonzalesf')
Users::AdminUser.create(email: 'ljamesg@sfgate.com', first_name: 'Lori', last_name: 'James', username: 'ljamesg')
Users::AdminUser.create(email: 'rhillh@gnu.org', first_name: 'Roger', last_name: 'Hill', username: 'rhillh')
Users::AdminUser.create(email: 'rharveyi@tripadvisor.com', first_name: 'Raymond', last_name: 'Harvey', username: 'rharveyi')
Users::AdminUser.create(email: 'sperryj@mit.edu', first_name: 'Stephen', last_name: 'Perry', username: 'sperryj')
Users::StandardUser.create(email: 'mblackk@prnewswire.com', first_name: 'Michelle', last_name: 'Black', username: 'mblackk')
Users::StandardUser.create(email: 'ghamiltonl@sciencedirect.com', first_name: 'Gary', last_name: 'Hamilton', username: 'ghamiltonl')
Users::StandardUser.create(email: 'cgraym@about.com', first_name: 'Chris', last_name: 'Gray', username: 'cgraym')
Users::StandardUser.create(email: 'jbradleyn@wikispaces.com', first_name: 'Jacqueline', last_name: 'Bradley', username: 'jbradleyn')
Users::StandardUser.create(email: 'jpayneo@netscape.com', first_name: 'Joseph', last_name: 'Payne', username: 'jpayneo')
Users::StandardUser.create(email: 'drodriguezp@apache.org', first_name: 'Debra', last_name: 'Rodriguez', username: 'drodriguezp')
Users::StandardUser.create(email: 'jkellyq@alexa.com', first_name: 'Jonathan', last_name: 'Kelly', username: 'jkellyq')
Users::StandardUser.create(email: 'creynoldsr@wired.com', first_name: 'Cheryl', last_name: 'Reynolds', username: 'creynoldsr')
Users::StandardUser.create(email: 'kbarness@pbs.org', first_name: 'Kathleen', last_name: 'Barnes', username: 'kbarness')
Users::StandardUser.create(email: 'ahansent@chron.com', first_name: 'Annie', last_name: 'Hansen', username: 'ahansent')
Accounts::Account.create(name: 'Ooba', users_account_owner_id: 1)
Accounts::Account.create(name: 'Avamba', users_account_owner_id: 2)
Accounts::Account.create(name: 'Linktype', users_account_owner_id: 3)
Accounts::Account.create(name: 'Brainsphere', users_account_owner_id: 4)
Accounts::Account.create(name: 'Wordtune', users_account_owner_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 10)
模块用户
类超级管理员<应用程序记录
self.table_name='users\u super\u admin\u users'
拥有多个:帐户\u拥有的\u帐户,类别\u名称:'accounts::Account',相反的\u of::users\u Account\u owner,外部\u key::users\u Account\u owner\u id
拥有多个:帐户帐户成员资格,类名称:'accounts::AccountMembership',as::users\u account\u member,dependent::destroy
拥有多个:账户,通过::账户,来源:'accounts::account'
结束
结束
app/models/users/admin\u user.rb
module Accounts
class Account < ActiveRecord::Base
self.table_name = 'accounts_accounts'
belongs_to :users_account_owner, class_name: 'Users::SuperAdminUser', inverse_of: :accounts_owned_accounts
accepts_nested_attributes_for :users_account_owner
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :accounts_account, dependent: :destroy
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::SuperAdminUser'
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::AdminUser'
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::StandardUser'
end
end
module Users
class SuperAdminUser < ApplicationRecord
self.table_name = 'users_super_admin_users'
has_many :accounts_owned_accounts, class_name: 'Accounts::Account', inverse_of: :users_account_owner, foreign_key: :users_account_owner_id
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class AdminUser < ApplicationRecord
self.table_name = 'users_admin_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class StandardUser < ApplicationRecord
self.table_name = 'users_standard_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Accounts
class AccountMembership < ActiveRecord::Base
self.table_name = 'accounts_account_memberships'
belongs_to :accounts_account, class_name: 'Accounts::Account', inverse_of: :accounts_account_memberships
belongs_to :users_account_member, polymorphic: true
end
end
class CreateUsersSuperAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_super_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersStandardUser < ActiveRecord::Migration[5.0]
def change
create_table :users_standard_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateAccountsAccount < ActiveRecord::Migration[5.0]
def change
create_table :accounts_accounts do |t|
t.string :name, index: { unique: true }
t.references :users_account_owner, index: true, foreign_key: { to_table: :users_super_admin_users }
t.timestamps null: false
end
end
end
class CreateAccountsAccountMembership < ActiveRecord::Migration[5.0]
def change
create_table :accounts_account_memberships do |t|
t.references :accounts_account, index: { name: 'index_accts_acct_mbrships_on_accts_acct_id' }
t.references :users_account_member, polymorphic: true, index: { name: 'index_accts_acct_mbrships_on_users_acct_member_type_and_id' }
t.timestamps null: false
end
end
end
Users::SuperAdminUser.create(email: 'garnold0@spotify.com', first_name: 'Gregory', last_name: 'Arnold', username: 'garnold0')
Users::SuperAdminUser.create(email: 'lsanders1@time.com', first_name: 'Lisa', last_name: 'Sanders', username: 'lsanders1')
Users::SuperAdminUser.create(email: 'ssanders2@ucsd.edu', first_name: 'Scott', last_name: 'Sanders', username: 'ssanders2')
Users::SuperAdminUser.create(email: 'aroberts3@g.co', first_name: 'Anthony', last_name: 'Roberts', username: 'aroberts3')
Users::SuperAdminUser.create(email: 'probinson4@bandcamp.com', first_name: 'Paula', last_name: 'Robinson', username: 'probinson4')
Users::SuperAdminUser.create(email: 'ncruz5@huffingtonpost.com', first_name: 'Nicole', last_name: 'Cruz', username: 'ncruz5')
Users::SuperAdminUser.create(email: 'gandrews6@cyberchimps.com', first_name: 'George', last_name: 'Andrews', username: 'gandrews6')
Users::SuperAdminUser.create(email: 'nwilson7@deviantart.com', first_name: 'Nicole', last_name: 'Wilson', username: 'nwilson7')
Users::SuperAdminUser.create(email: 'aedwards8@qq.com', first_name: 'Anne', last_name: 'Edwards', username: 'aedwards8')
Users::SuperAdminUser.create(email: 'rdavis9@geocities.jp', first_name: 'Ronald', last_name: 'Davis', username: 'rdavis9')
Users::AdminUser.create(email: 'lhawkinsa@icio.us', first_name: 'Lisa', last_name: 'Hawkins', username: 'lhawkinsa')
Users::AdminUser.create(email: 'htaylorb@imdb.com', first_name: 'Helen', last_name: 'Taylor', username: 'htaylorb')
Users::AdminUser.create(email: 'gtaylorc@unblog.fr', first_name: 'Gregory', last_name: 'Taylor', username: 'gtaylorc')
Users::AdminUser.create(email: 'hlaned@whitehouse.gov', first_name: 'Henry', last_name: 'Lane', username: 'hlaned')
Users::AdminUser.create(email: 'hphillipse@howstuffworks.com', first_name: 'Harry', last_name: 'Phillips', username: 'hphillipse')
Users::AdminUser.create(email: 'jgonzalesf@com.com', first_name: 'Jeffrey', last_name: 'Gonzales', username: 'jgonzalesf')
Users::AdminUser.create(email: 'ljamesg@sfgate.com', first_name: 'Lori', last_name: 'James', username: 'ljamesg')
Users::AdminUser.create(email: 'rhillh@gnu.org', first_name: 'Roger', last_name: 'Hill', username: 'rhillh')
Users::AdminUser.create(email: 'rharveyi@tripadvisor.com', first_name: 'Raymond', last_name: 'Harvey', username: 'rharveyi')
Users::AdminUser.create(email: 'sperryj@mit.edu', first_name: 'Stephen', last_name: 'Perry', username: 'sperryj')
Users::StandardUser.create(email: 'mblackk@prnewswire.com', first_name: 'Michelle', last_name: 'Black', username: 'mblackk')
Users::StandardUser.create(email: 'ghamiltonl@sciencedirect.com', first_name: 'Gary', last_name: 'Hamilton', username: 'ghamiltonl')
Users::StandardUser.create(email: 'cgraym@about.com', first_name: 'Chris', last_name: 'Gray', username: 'cgraym')
Users::StandardUser.create(email: 'jbradleyn@wikispaces.com', first_name: 'Jacqueline', last_name: 'Bradley', username: 'jbradleyn')
Users::StandardUser.create(email: 'jpayneo@netscape.com', first_name: 'Joseph', last_name: 'Payne', username: 'jpayneo')
Users::StandardUser.create(email: 'drodriguezp@apache.org', first_name: 'Debra', last_name: 'Rodriguez', username: 'drodriguezp')
Users::StandardUser.create(email: 'jkellyq@alexa.com', first_name: 'Jonathan', last_name: 'Kelly', username: 'jkellyq')
Users::StandardUser.create(email: 'creynoldsr@wired.com', first_name: 'Cheryl', last_name: 'Reynolds', username: 'creynoldsr')
Users::StandardUser.create(email: 'kbarness@pbs.org', first_name: 'Kathleen', last_name: 'Barnes', username: 'kbarness')
Users::StandardUser.create(email: 'ahansent@chron.com', first_name: 'Annie', last_name: 'Hansen', username: 'ahansent')
Accounts::Account.create(name: 'Ooba', users_account_owner_id: 1)
Accounts::Account.create(name: 'Avamba', users_account_owner_id: 2)
Accounts::Account.create(name: 'Linktype', users_account_owner_id: 3)
Accounts::Account.create(name: 'Brainsphere', users_account_owner_id: 4)
Accounts::Account.create(name: 'Wordtune', users_account_owner_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 10)
模块用户
类AdminUser
app/models/users/standard_user.rb
module Accounts
class Account < ActiveRecord::Base
self.table_name = 'accounts_accounts'
belongs_to :users_account_owner, class_name: 'Users::SuperAdminUser', inverse_of: :accounts_owned_accounts
accepts_nested_attributes_for :users_account_owner
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :accounts_account, dependent: :destroy
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::SuperAdminUser'
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::AdminUser'
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::StandardUser'
end
end
module Users
class SuperAdminUser < ApplicationRecord
self.table_name = 'users_super_admin_users'
has_many :accounts_owned_accounts, class_name: 'Accounts::Account', inverse_of: :users_account_owner, foreign_key: :users_account_owner_id
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class AdminUser < ApplicationRecord
self.table_name = 'users_admin_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class StandardUser < ApplicationRecord
self.table_name = 'users_standard_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Accounts
class AccountMembership < ActiveRecord::Base
self.table_name = 'accounts_account_memberships'
belongs_to :accounts_account, class_name: 'Accounts::Account', inverse_of: :accounts_account_memberships
belongs_to :users_account_member, polymorphic: true
end
end
class CreateUsersSuperAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_super_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersStandardUser < ActiveRecord::Migration[5.0]
def change
create_table :users_standard_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateAccountsAccount < ActiveRecord::Migration[5.0]
def change
create_table :accounts_accounts do |t|
t.string :name, index: { unique: true }
t.references :users_account_owner, index: true, foreign_key: { to_table: :users_super_admin_users }
t.timestamps null: false
end
end
end
class CreateAccountsAccountMembership < ActiveRecord::Migration[5.0]
def change
create_table :accounts_account_memberships do |t|
t.references :accounts_account, index: { name: 'index_accts_acct_mbrships_on_accts_acct_id' }
t.references :users_account_member, polymorphic: true, index: { name: 'index_accts_acct_mbrships_on_users_acct_member_type_and_id' }
t.timestamps null: false
end
end
end
Users::SuperAdminUser.create(email: 'garnold0@spotify.com', first_name: 'Gregory', last_name: 'Arnold', username: 'garnold0')
Users::SuperAdminUser.create(email: 'lsanders1@time.com', first_name: 'Lisa', last_name: 'Sanders', username: 'lsanders1')
Users::SuperAdminUser.create(email: 'ssanders2@ucsd.edu', first_name: 'Scott', last_name: 'Sanders', username: 'ssanders2')
Users::SuperAdminUser.create(email: 'aroberts3@g.co', first_name: 'Anthony', last_name: 'Roberts', username: 'aroberts3')
Users::SuperAdminUser.create(email: 'probinson4@bandcamp.com', first_name: 'Paula', last_name: 'Robinson', username: 'probinson4')
Users::SuperAdminUser.create(email: 'ncruz5@huffingtonpost.com', first_name: 'Nicole', last_name: 'Cruz', username: 'ncruz5')
Users::SuperAdminUser.create(email: 'gandrews6@cyberchimps.com', first_name: 'George', last_name: 'Andrews', username: 'gandrews6')
Users::SuperAdminUser.create(email: 'nwilson7@deviantart.com', first_name: 'Nicole', last_name: 'Wilson', username: 'nwilson7')
Users::SuperAdminUser.create(email: 'aedwards8@qq.com', first_name: 'Anne', last_name: 'Edwards', username: 'aedwards8')
Users::SuperAdminUser.create(email: 'rdavis9@geocities.jp', first_name: 'Ronald', last_name: 'Davis', username: 'rdavis9')
Users::AdminUser.create(email: 'lhawkinsa@icio.us', first_name: 'Lisa', last_name: 'Hawkins', username: 'lhawkinsa')
Users::AdminUser.create(email: 'htaylorb@imdb.com', first_name: 'Helen', last_name: 'Taylor', username: 'htaylorb')
Users::AdminUser.create(email: 'gtaylorc@unblog.fr', first_name: 'Gregory', last_name: 'Taylor', username: 'gtaylorc')
Users::AdminUser.create(email: 'hlaned@whitehouse.gov', first_name: 'Henry', last_name: 'Lane', username: 'hlaned')
Users::AdminUser.create(email: 'hphillipse@howstuffworks.com', first_name: 'Harry', last_name: 'Phillips', username: 'hphillipse')
Users::AdminUser.create(email: 'jgonzalesf@com.com', first_name: 'Jeffrey', last_name: 'Gonzales', username: 'jgonzalesf')
Users::AdminUser.create(email: 'ljamesg@sfgate.com', first_name: 'Lori', last_name: 'James', username: 'ljamesg')
Users::AdminUser.create(email: 'rhillh@gnu.org', first_name: 'Roger', last_name: 'Hill', username: 'rhillh')
Users::AdminUser.create(email: 'rharveyi@tripadvisor.com', first_name: 'Raymond', last_name: 'Harvey', username: 'rharveyi')
Users::AdminUser.create(email: 'sperryj@mit.edu', first_name: 'Stephen', last_name: 'Perry', username: 'sperryj')
Users::StandardUser.create(email: 'mblackk@prnewswire.com', first_name: 'Michelle', last_name: 'Black', username: 'mblackk')
Users::StandardUser.create(email: 'ghamiltonl@sciencedirect.com', first_name: 'Gary', last_name: 'Hamilton', username: 'ghamiltonl')
Users::StandardUser.create(email: 'cgraym@about.com', first_name: 'Chris', last_name: 'Gray', username: 'cgraym')
Users::StandardUser.create(email: 'jbradleyn@wikispaces.com', first_name: 'Jacqueline', last_name: 'Bradley', username: 'jbradleyn')
Users::StandardUser.create(email: 'jpayneo@netscape.com', first_name: 'Joseph', last_name: 'Payne', username: 'jpayneo')
Users::StandardUser.create(email: 'drodriguezp@apache.org', first_name: 'Debra', last_name: 'Rodriguez', username: 'drodriguezp')
Users::StandardUser.create(email: 'jkellyq@alexa.com', first_name: 'Jonathan', last_name: 'Kelly', username: 'jkellyq')
Users::StandardUser.create(email: 'creynoldsr@wired.com', first_name: 'Cheryl', last_name: 'Reynolds', username: 'creynoldsr')
Users::StandardUser.create(email: 'kbarness@pbs.org', first_name: 'Kathleen', last_name: 'Barnes', username: 'kbarness')
Users::StandardUser.create(email: 'ahansent@chron.com', first_name: 'Annie', last_name: 'Hansen', username: 'ahansent')
Accounts::Account.create(name: 'Ooba', users_account_owner_id: 1)
Accounts::Account.create(name: 'Avamba', users_account_owner_id: 2)
Accounts::Account.create(name: 'Linktype', users_account_owner_id: 3)
Accounts::Account.create(name: 'Brainsphere', users_account_owner_id: 4)
Accounts::Account.create(name: 'Wordtune', users_account_owner_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 10)
模块用户
类StandardUser<应用程序记录
self.table\u name='users\u standard\u users'
拥有多个:帐户帐户成员资格,类名称:'accounts::AccountMembership',as::users\u account\u member,dependent::destroy
拥有多个:账户,通过::账户,来源:'accounts::account'
结束
结束
app/models/accounts/account\u membership.rb
module Accounts
class Account < ActiveRecord::Base
self.table_name = 'accounts_accounts'
belongs_to :users_account_owner, class_name: 'Users::SuperAdminUser', inverse_of: :accounts_owned_accounts
accepts_nested_attributes_for :users_account_owner
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :accounts_account, dependent: :destroy
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::SuperAdminUser'
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::AdminUser'
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::StandardUser'
end
end
module Users
class SuperAdminUser < ApplicationRecord
self.table_name = 'users_super_admin_users'
has_many :accounts_owned_accounts, class_name: 'Accounts::Account', inverse_of: :users_account_owner, foreign_key: :users_account_owner_id
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class AdminUser < ApplicationRecord
self.table_name = 'users_admin_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class StandardUser < ApplicationRecord
self.table_name = 'users_standard_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Accounts
class AccountMembership < ActiveRecord::Base
self.table_name = 'accounts_account_memberships'
belongs_to :accounts_account, class_name: 'Accounts::Account', inverse_of: :accounts_account_memberships
belongs_to :users_account_member, polymorphic: true
end
end
class CreateUsersSuperAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_super_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersStandardUser < ActiveRecord::Migration[5.0]
def change
create_table :users_standard_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateAccountsAccount < ActiveRecord::Migration[5.0]
def change
create_table :accounts_accounts do |t|
t.string :name, index: { unique: true }
t.references :users_account_owner, index: true, foreign_key: { to_table: :users_super_admin_users }
t.timestamps null: false
end
end
end
class CreateAccountsAccountMembership < ActiveRecord::Migration[5.0]
def change
create_table :accounts_account_memberships do |t|
t.references :accounts_account, index: { name: 'index_accts_acct_mbrships_on_accts_acct_id' }
t.references :users_account_member, polymorphic: true, index: { name: 'index_accts_acct_mbrships_on_users_acct_member_type_and_id' }
t.timestamps null: false
end
end
end
Users::SuperAdminUser.create(email: 'garnold0@spotify.com', first_name: 'Gregory', last_name: 'Arnold', username: 'garnold0')
Users::SuperAdminUser.create(email: 'lsanders1@time.com', first_name: 'Lisa', last_name: 'Sanders', username: 'lsanders1')
Users::SuperAdminUser.create(email: 'ssanders2@ucsd.edu', first_name: 'Scott', last_name: 'Sanders', username: 'ssanders2')
Users::SuperAdminUser.create(email: 'aroberts3@g.co', first_name: 'Anthony', last_name: 'Roberts', username: 'aroberts3')
Users::SuperAdminUser.create(email: 'probinson4@bandcamp.com', first_name: 'Paula', last_name: 'Robinson', username: 'probinson4')
Users::SuperAdminUser.create(email: 'ncruz5@huffingtonpost.com', first_name: 'Nicole', last_name: 'Cruz', username: 'ncruz5')
Users::SuperAdminUser.create(email: 'gandrews6@cyberchimps.com', first_name: 'George', last_name: 'Andrews', username: 'gandrews6')
Users::SuperAdminUser.create(email: 'nwilson7@deviantart.com', first_name: 'Nicole', last_name: 'Wilson', username: 'nwilson7')
Users::SuperAdminUser.create(email: 'aedwards8@qq.com', first_name: 'Anne', last_name: 'Edwards', username: 'aedwards8')
Users::SuperAdminUser.create(email: 'rdavis9@geocities.jp', first_name: 'Ronald', last_name: 'Davis', username: 'rdavis9')
Users::AdminUser.create(email: 'lhawkinsa@icio.us', first_name: 'Lisa', last_name: 'Hawkins', username: 'lhawkinsa')
Users::AdminUser.create(email: 'htaylorb@imdb.com', first_name: 'Helen', last_name: 'Taylor', username: 'htaylorb')
Users::AdminUser.create(email: 'gtaylorc@unblog.fr', first_name: 'Gregory', last_name: 'Taylor', username: 'gtaylorc')
Users::AdminUser.create(email: 'hlaned@whitehouse.gov', first_name: 'Henry', last_name: 'Lane', username: 'hlaned')
Users::AdminUser.create(email: 'hphillipse@howstuffworks.com', first_name: 'Harry', last_name: 'Phillips', username: 'hphillipse')
Users::AdminUser.create(email: 'jgonzalesf@com.com', first_name: 'Jeffrey', last_name: 'Gonzales', username: 'jgonzalesf')
Users::AdminUser.create(email: 'ljamesg@sfgate.com', first_name: 'Lori', last_name: 'James', username: 'ljamesg')
Users::AdminUser.create(email: 'rhillh@gnu.org', first_name: 'Roger', last_name: 'Hill', username: 'rhillh')
Users::AdminUser.create(email: 'rharveyi@tripadvisor.com', first_name: 'Raymond', last_name: 'Harvey', username: 'rharveyi')
Users::AdminUser.create(email: 'sperryj@mit.edu', first_name: 'Stephen', last_name: 'Perry', username: 'sperryj')
Users::StandardUser.create(email: 'mblackk@prnewswire.com', first_name: 'Michelle', last_name: 'Black', username: 'mblackk')
Users::StandardUser.create(email: 'ghamiltonl@sciencedirect.com', first_name: 'Gary', last_name: 'Hamilton', username: 'ghamiltonl')
Users::StandardUser.create(email: 'cgraym@about.com', first_name: 'Chris', last_name: 'Gray', username: 'cgraym')
Users::StandardUser.create(email: 'jbradleyn@wikispaces.com', first_name: 'Jacqueline', last_name: 'Bradley', username: 'jbradleyn')
Users::StandardUser.create(email: 'jpayneo@netscape.com', first_name: 'Joseph', last_name: 'Payne', username: 'jpayneo')
Users::StandardUser.create(email: 'drodriguezp@apache.org', first_name: 'Debra', last_name: 'Rodriguez', username: 'drodriguezp')
Users::StandardUser.create(email: 'jkellyq@alexa.com', first_name: 'Jonathan', last_name: 'Kelly', username: 'jkellyq')
Users::StandardUser.create(email: 'creynoldsr@wired.com', first_name: 'Cheryl', last_name: 'Reynolds', username: 'creynoldsr')
Users::StandardUser.create(email: 'kbarness@pbs.org', first_name: 'Kathleen', last_name: 'Barnes', username: 'kbarness')
Users::StandardUser.create(email: 'ahansent@chron.com', first_name: 'Annie', last_name: 'Hansen', username: 'ahansent')
Accounts::Account.create(name: 'Ooba', users_account_owner_id: 1)
Accounts::Account.create(name: 'Avamba', users_account_owner_id: 2)
Accounts::Account.create(name: 'Linktype', users_account_owner_id: 3)
Accounts::Account.create(name: 'Brainsphere', users_account_owner_id: 4)
Accounts::Account.create(name: 'Wordtune', users_account_owner_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 10)
模块帐户
类AccountMembership
db/migrate/20170203001000\u create\u users\u super\u admin\u user.rb
module Accounts
class Account < ActiveRecord::Base
self.table_name = 'accounts_accounts'
belongs_to :users_account_owner, class_name: 'Users::SuperAdminUser', inverse_of: :accounts_owned_accounts
accepts_nested_attributes_for :users_account_owner
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :accounts_account, dependent: :destroy
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::SuperAdminUser'
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::AdminUser'
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::StandardUser'
end
end
module Users
class SuperAdminUser < ApplicationRecord
self.table_name = 'users_super_admin_users'
has_many :accounts_owned_accounts, class_name: 'Accounts::Account', inverse_of: :users_account_owner, foreign_key: :users_account_owner_id
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class AdminUser < ApplicationRecord
self.table_name = 'users_admin_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class StandardUser < ApplicationRecord
self.table_name = 'users_standard_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Accounts
class AccountMembership < ActiveRecord::Base
self.table_name = 'accounts_account_memberships'
belongs_to :accounts_account, class_name: 'Accounts::Account', inverse_of: :accounts_account_memberships
belongs_to :users_account_member, polymorphic: true
end
end
class CreateUsersSuperAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_super_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersStandardUser < ActiveRecord::Migration[5.0]
def change
create_table :users_standard_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateAccountsAccount < ActiveRecord::Migration[5.0]
def change
create_table :accounts_accounts do |t|
t.string :name, index: { unique: true }
t.references :users_account_owner, index: true, foreign_key: { to_table: :users_super_admin_users }
t.timestamps null: false
end
end
end
class CreateAccountsAccountMembership < ActiveRecord::Migration[5.0]
def change
create_table :accounts_account_memberships do |t|
t.references :accounts_account, index: { name: 'index_accts_acct_mbrships_on_accts_acct_id' }
t.references :users_account_member, polymorphic: true, index: { name: 'index_accts_acct_mbrships_on_users_acct_member_type_and_id' }
t.timestamps null: false
end
end
end
Users::SuperAdminUser.create(email: 'garnold0@spotify.com', first_name: 'Gregory', last_name: 'Arnold', username: 'garnold0')
Users::SuperAdminUser.create(email: 'lsanders1@time.com', first_name: 'Lisa', last_name: 'Sanders', username: 'lsanders1')
Users::SuperAdminUser.create(email: 'ssanders2@ucsd.edu', first_name: 'Scott', last_name: 'Sanders', username: 'ssanders2')
Users::SuperAdminUser.create(email: 'aroberts3@g.co', first_name: 'Anthony', last_name: 'Roberts', username: 'aroberts3')
Users::SuperAdminUser.create(email: 'probinson4@bandcamp.com', first_name: 'Paula', last_name: 'Robinson', username: 'probinson4')
Users::SuperAdminUser.create(email: 'ncruz5@huffingtonpost.com', first_name: 'Nicole', last_name: 'Cruz', username: 'ncruz5')
Users::SuperAdminUser.create(email: 'gandrews6@cyberchimps.com', first_name: 'George', last_name: 'Andrews', username: 'gandrews6')
Users::SuperAdminUser.create(email: 'nwilson7@deviantart.com', first_name: 'Nicole', last_name: 'Wilson', username: 'nwilson7')
Users::SuperAdminUser.create(email: 'aedwards8@qq.com', first_name: 'Anne', last_name: 'Edwards', username: 'aedwards8')
Users::SuperAdminUser.create(email: 'rdavis9@geocities.jp', first_name: 'Ronald', last_name: 'Davis', username: 'rdavis9')
Users::AdminUser.create(email: 'lhawkinsa@icio.us', first_name: 'Lisa', last_name: 'Hawkins', username: 'lhawkinsa')
Users::AdminUser.create(email: 'htaylorb@imdb.com', first_name: 'Helen', last_name: 'Taylor', username: 'htaylorb')
Users::AdminUser.create(email: 'gtaylorc@unblog.fr', first_name: 'Gregory', last_name: 'Taylor', username: 'gtaylorc')
Users::AdminUser.create(email: 'hlaned@whitehouse.gov', first_name: 'Henry', last_name: 'Lane', username: 'hlaned')
Users::AdminUser.create(email: 'hphillipse@howstuffworks.com', first_name: 'Harry', last_name: 'Phillips', username: 'hphillipse')
Users::AdminUser.create(email: 'jgonzalesf@com.com', first_name: 'Jeffrey', last_name: 'Gonzales', username: 'jgonzalesf')
Users::AdminUser.create(email: 'ljamesg@sfgate.com', first_name: 'Lori', last_name: 'James', username: 'ljamesg')
Users::AdminUser.create(email: 'rhillh@gnu.org', first_name: 'Roger', last_name: 'Hill', username: 'rhillh')
Users::AdminUser.create(email: 'rharveyi@tripadvisor.com', first_name: 'Raymond', last_name: 'Harvey', username: 'rharveyi')
Users::AdminUser.create(email: 'sperryj@mit.edu', first_name: 'Stephen', last_name: 'Perry', username: 'sperryj')
Users::StandardUser.create(email: 'mblackk@prnewswire.com', first_name: 'Michelle', last_name: 'Black', username: 'mblackk')
Users::StandardUser.create(email: 'ghamiltonl@sciencedirect.com', first_name: 'Gary', last_name: 'Hamilton', username: 'ghamiltonl')
Users::StandardUser.create(email: 'cgraym@about.com', first_name: 'Chris', last_name: 'Gray', username: 'cgraym')
Users::StandardUser.create(email: 'jbradleyn@wikispaces.com', first_name: 'Jacqueline', last_name: 'Bradley', username: 'jbradleyn')
Users::StandardUser.create(email: 'jpayneo@netscape.com', first_name: 'Joseph', last_name: 'Payne', username: 'jpayneo')
Users::StandardUser.create(email: 'drodriguezp@apache.org', first_name: 'Debra', last_name: 'Rodriguez', username: 'drodriguezp')
Users::StandardUser.create(email: 'jkellyq@alexa.com', first_name: 'Jonathan', last_name: 'Kelly', username: 'jkellyq')
Users::StandardUser.create(email: 'creynoldsr@wired.com', first_name: 'Cheryl', last_name: 'Reynolds', username: 'creynoldsr')
Users::StandardUser.create(email: 'kbarness@pbs.org', first_name: 'Kathleen', last_name: 'Barnes', username: 'kbarness')
Users::StandardUser.create(email: 'ahansent@chron.com', first_name: 'Annie', last_name: 'Hansen', username: 'ahansent')
Accounts::Account.create(name: 'Ooba', users_account_owner_id: 1)
Accounts::Account.create(name: 'Avamba', users_account_owner_id: 2)
Accounts::Account.create(name: 'Linktype', users_account_owner_id: 3)
Accounts::Account.create(name: 'Brainsphere', users_account_owner_id: 4)
Accounts::Account.create(name: 'Wordtune', users_account_owner_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 10)
class CreateUsersSubperAdminUser
db/migrate/20170203001100\u create\u users\u admin\u user.rb
module Accounts
class Account < ActiveRecord::Base
self.table_name = 'accounts_accounts'
belongs_to :users_account_owner, class_name: 'Users::SuperAdminUser', inverse_of: :accounts_owned_accounts
accepts_nested_attributes_for :users_account_owner
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :accounts_account, dependent: :destroy
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::SuperAdminUser'
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::AdminUser'
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::StandardUser'
end
end
module Users
class SuperAdminUser < ApplicationRecord
self.table_name = 'users_super_admin_users'
has_many :accounts_owned_accounts, class_name: 'Accounts::Account', inverse_of: :users_account_owner, foreign_key: :users_account_owner_id
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class AdminUser < ApplicationRecord
self.table_name = 'users_admin_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class StandardUser < ApplicationRecord
self.table_name = 'users_standard_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Accounts
class AccountMembership < ActiveRecord::Base
self.table_name = 'accounts_account_memberships'
belongs_to :accounts_account, class_name: 'Accounts::Account', inverse_of: :accounts_account_memberships
belongs_to :users_account_member, polymorphic: true
end
end
class CreateUsersSuperAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_super_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersStandardUser < ActiveRecord::Migration[5.0]
def change
create_table :users_standard_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateAccountsAccount < ActiveRecord::Migration[5.0]
def change
create_table :accounts_accounts do |t|
t.string :name, index: { unique: true }
t.references :users_account_owner, index: true, foreign_key: { to_table: :users_super_admin_users }
t.timestamps null: false
end
end
end
class CreateAccountsAccountMembership < ActiveRecord::Migration[5.0]
def change
create_table :accounts_account_memberships do |t|
t.references :accounts_account, index: { name: 'index_accts_acct_mbrships_on_accts_acct_id' }
t.references :users_account_member, polymorphic: true, index: { name: 'index_accts_acct_mbrships_on_users_acct_member_type_and_id' }
t.timestamps null: false
end
end
end
Users::SuperAdminUser.create(email: 'garnold0@spotify.com', first_name: 'Gregory', last_name: 'Arnold', username: 'garnold0')
Users::SuperAdminUser.create(email: 'lsanders1@time.com', first_name: 'Lisa', last_name: 'Sanders', username: 'lsanders1')
Users::SuperAdminUser.create(email: 'ssanders2@ucsd.edu', first_name: 'Scott', last_name: 'Sanders', username: 'ssanders2')
Users::SuperAdminUser.create(email: 'aroberts3@g.co', first_name: 'Anthony', last_name: 'Roberts', username: 'aroberts3')
Users::SuperAdminUser.create(email: 'probinson4@bandcamp.com', first_name: 'Paula', last_name: 'Robinson', username: 'probinson4')
Users::SuperAdminUser.create(email: 'ncruz5@huffingtonpost.com', first_name: 'Nicole', last_name: 'Cruz', username: 'ncruz5')
Users::SuperAdminUser.create(email: 'gandrews6@cyberchimps.com', first_name: 'George', last_name: 'Andrews', username: 'gandrews6')
Users::SuperAdminUser.create(email: 'nwilson7@deviantart.com', first_name: 'Nicole', last_name: 'Wilson', username: 'nwilson7')
Users::SuperAdminUser.create(email: 'aedwards8@qq.com', first_name: 'Anne', last_name: 'Edwards', username: 'aedwards8')
Users::SuperAdminUser.create(email: 'rdavis9@geocities.jp', first_name: 'Ronald', last_name: 'Davis', username: 'rdavis9')
Users::AdminUser.create(email: 'lhawkinsa@icio.us', first_name: 'Lisa', last_name: 'Hawkins', username: 'lhawkinsa')
Users::AdminUser.create(email: 'htaylorb@imdb.com', first_name: 'Helen', last_name: 'Taylor', username: 'htaylorb')
Users::AdminUser.create(email: 'gtaylorc@unblog.fr', first_name: 'Gregory', last_name: 'Taylor', username: 'gtaylorc')
Users::AdminUser.create(email: 'hlaned@whitehouse.gov', first_name: 'Henry', last_name: 'Lane', username: 'hlaned')
Users::AdminUser.create(email: 'hphillipse@howstuffworks.com', first_name: 'Harry', last_name: 'Phillips', username: 'hphillipse')
Users::AdminUser.create(email: 'jgonzalesf@com.com', first_name: 'Jeffrey', last_name: 'Gonzales', username: 'jgonzalesf')
Users::AdminUser.create(email: 'ljamesg@sfgate.com', first_name: 'Lori', last_name: 'James', username: 'ljamesg')
Users::AdminUser.create(email: 'rhillh@gnu.org', first_name: 'Roger', last_name: 'Hill', username: 'rhillh')
Users::AdminUser.create(email: 'rharveyi@tripadvisor.com', first_name: 'Raymond', last_name: 'Harvey', username: 'rharveyi')
Users::AdminUser.create(email: 'sperryj@mit.edu', first_name: 'Stephen', last_name: 'Perry', username: 'sperryj')
Users::StandardUser.create(email: 'mblackk@prnewswire.com', first_name: 'Michelle', last_name: 'Black', username: 'mblackk')
Users::StandardUser.create(email: 'ghamiltonl@sciencedirect.com', first_name: 'Gary', last_name: 'Hamilton', username: 'ghamiltonl')
Users::StandardUser.create(email: 'cgraym@about.com', first_name: 'Chris', last_name: 'Gray', username: 'cgraym')
Users::StandardUser.create(email: 'jbradleyn@wikispaces.com', first_name: 'Jacqueline', last_name: 'Bradley', username: 'jbradleyn')
Users::StandardUser.create(email: 'jpayneo@netscape.com', first_name: 'Joseph', last_name: 'Payne', username: 'jpayneo')
Users::StandardUser.create(email: 'drodriguezp@apache.org', first_name: 'Debra', last_name: 'Rodriguez', username: 'drodriguezp')
Users::StandardUser.create(email: 'jkellyq@alexa.com', first_name: 'Jonathan', last_name: 'Kelly', username: 'jkellyq')
Users::StandardUser.create(email: 'creynoldsr@wired.com', first_name: 'Cheryl', last_name: 'Reynolds', username: 'creynoldsr')
Users::StandardUser.create(email: 'kbarness@pbs.org', first_name: 'Kathleen', last_name: 'Barnes', username: 'kbarness')
Users::StandardUser.create(email: 'ahansent@chron.com', first_name: 'Annie', last_name: 'Hansen', username: 'ahansent')
Accounts::Account.create(name: 'Ooba', users_account_owner_id: 1)
Accounts::Account.create(name: 'Avamba', users_account_owner_id: 2)
Accounts::Account.create(name: 'Linktype', users_account_owner_id: 3)
Accounts::Account.create(name: 'Brainsphere', users_account_owner_id: 4)
Accounts::Account.create(name: 'Wordtune', users_account_owner_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 10)
class CreateUsersAdminUser
db/migrate/20170203001200\u创建用户\u标准用户\u user.rb
module Accounts
class Account < ActiveRecord::Base
self.table_name = 'accounts_accounts'
belongs_to :users_account_owner, class_name: 'Users::SuperAdminUser', inverse_of: :accounts_owned_accounts
accepts_nested_attributes_for :users_account_owner
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :accounts_account, dependent: :destroy
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::SuperAdminUser'
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::AdminUser'
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::StandardUser'
end
end
module Users
class SuperAdminUser < ApplicationRecord
self.table_name = 'users_super_admin_users'
has_many :accounts_owned_accounts, class_name: 'Accounts::Account', inverse_of: :users_account_owner, foreign_key: :users_account_owner_id
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class AdminUser < ApplicationRecord
self.table_name = 'users_admin_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class StandardUser < ApplicationRecord
self.table_name = 'users_standard_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Accounts
class AccountMembership < ActiveRecord::Base
self.table_name = 'accounts_account_memberships'
belongs_to :accounts_account, class_name: 'Accounts::Account', inverse_of: :accounts_account_memberships
belongs_to :users_account_member, polymorphic: true
end
end
class CreateUsersSuperAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_super_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersStandardUser < ActiveRecord::Migration[5.0]
def change
create_table :users_standard_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateAccountsAccount < ActiveRecord::Migration[5.0]
def change
create_table :accounts_accounts do |t|
t.string :name, index: { unique: true }
t.references :users_account_owner, index: true, foreign_key: { to_table: :users_super_admin_users }
t.timestamps null: false
end
end
end
class CreateAccountsAccountMembership < ActiveRecord::Migration[5.0]
def change
create_table :accounts_account_memberships do |t|
t.references :accounts_account, index: { name: 'index_accts_acct_mbrships_on_accts_acct_id' }
t.references :users_account_member, polymorphic: true, index: { name: 'index_accts_acct_mbrships_on_users_acct_member_type_and_id' }
t.timestamps null: false
end
end
end
Users::SuperAdminUser.create(email: 'garnold0@spotify.com', first_name: 'Gregory', last_name: 'Arnold', username: 'garnold0')
Users::SuperAdminUser.create(email: 'lsanders1@time.com', first_name: 'Lisa', last_name: 'Sanders', username: 'lsanders1')
Users::SuperAdminUser.create(email: 'ssanders2@ucsd.edu', first_name: 'Scott', last_name: 'Sanders', username: 'ssanders2')
Users::SuperAdminUser.create(email: 'aroberts3@g.co', first_name: 'Anthony', last_name: 'Roberts', username: 'aroberts3')
Users::SuperAdminUser.create(email: 'probinson4@bandcamp.com', first_name: 'Paula', last_name: 'Robinson', username: 'probinson4')
Users::SuperAdminUser.create(email: 'ncruz5@huffingtonpost.com', first_name: 'Nicole', last_name: 'Cruz', username: 'ncruz5')
Users::SuperAdminUser.create(email: 'gandrews6@cyberchimps.com', first_name: 'George', last_name: 'Andrews', username: 'gandrews6')
Users::SuperAdminUser.create(email: 'nwilson7@deviantart.com', first_name: 'Nicole', last_name: 'Wilson', username: 'nwilson7')
Users::SuperAdminUser.create(email: 'aedwards8@qq.com', first_name: 'Anne', last_name: 'Edwards', username: 'aedwards8')
Users::SuperAdminUser.create(email: 'rdavis9@geocities.jp', first_name: 'Ronald', last_name: 'Davis', username: 'rdavis9')
Users::AdminUser.create(email: 'lhawkinsa@icio.us', first_name: 'Lisa', last_name: 'Hawkins', username: 'lhawkinsa')
Users::AdminUser.create(email: 'htaylorb@imdb.com', first_name: 'Helen', last_name: 'Taylor', username: 'htaylorb')
Users::AdminUser.create(email: 'gtaylorc@unblog.fr', first_name: 'Gregory', last_name: 'Taylor', username: 'gtaylorc')
Users::AdminUser.create(email: 'hlaned@whitehouse.gov', first_name: 'Henry', last_name: 'Lane', username: 'hlaned')
Users::AdminUser.create(email: 'hphillipse@howstuffworks.com', first_name: 'Harry', last_name: 'Phillips', username: 'hphillipse')
Users::AdminUser.create(email: 'jgonzalesf@com.com', first_name: 'Jeffrey', last_name: 'Gonzales', username: 'jgonzalesf')
Users::AdminUser.create(email: 'ljamesg@sfgate.com', first_name: 'Lori', last_name: 'James', username: 'ljamesg')
Users::AdminUser.create(email: 'rhillh@gnu.org', first_name: 'Roger', last_name: 'Hill', username: 'rhillh')
Users::AdminUser.create(email: 'rharveyi@tripadvisor.com', first_name: 'Raymond', last_name: 'Harvey', username: 'rharveyi')
Users::AdminUser.create(email: 'sperryj@mit.edu', first_name: 'Stephen', last_name: 'Perry', username: 'sperryj')
Users::StandardUser.create(email: 'mblackk@prnewswire.com', first_name: 'Michelle', last_name: 'Black', username: 'mblackk')
Users::StandardUser.create(email: 'ghamiltonl@sciencedirect.com', first_name: 'Gary', last_name: 'Hamilton', username: 'ghamiltonl')
Users::StandardUser.create(email: 'cgraym@about.com', first_name: 'Chris', last_name: 'Gray', username: 'cgraym')
Users::StandardUser.create(email: 'jbradleyn@wikispaces.com', first_name: 'Jacqueline', last_name: 'Bradley', username: 'jbradleyn')
Users::StandardUser.create(email: 'jpayneo@netscape.com', first_name: 'Joseph', last_name: 'Payne', username: 'jpayneo')
Users::StandardUser.create(email: 'drodriguezp@apache.org', first_name: 'Debra', last_name: 'Rodriguez', username: 'drodriguezp')
Users::StandardUser.create(email: 'jkellyq@alexa.com', first_name: 'Jonathan', last_name: 'Kelly', username: 'jkellyq')
Users::StandardUser.create(email: 'creynoldsr@wired.com', first_name: 'Cheryl', last_name: 'Reynolds', username: 'creynoldsr')
Users::StandardUser.create(email: 'kbarness@pbs.org', first_name: 'Kathleen', last_name: 'Barnes', username: 'kbarness')
Users::StandardUser.create(email: 'ahansent@chron.com', first_name: 'Annie', last_name: 'Hansen', username: 'ahansent')
Accounts::Account.create(name: 'Ooba', users_account_owner_id: 1)
Accounts::Account.create(name: 'Avamba', users_account_owner_id: 2)
Accounts::Account.create(name: 'Linktype', users_account_owner_id: 3)
Accounts::Account.create(name: 'Brainsphere', users_account_owner_id: 4)
Accounts::Account.create(name: 'Wordtune', users_account_owner_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 10)
class CreateUsersStandaduser
db/migrate/20170204001000\u创建账户\u账户.rb
module Accounts
class Account < ActiveRecord::Base
self.table_name = 'accounts_accounts'
belongs_to :users_account_owner, class_name: 'Users::SuperAdminUser', inverse_of: :accounts_owned_accounts
accepts_nested_attributes_for :users_account_owner
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :accounts_account, dependent: :destroy
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::SuperAdminUser'
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::AdminUser'
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::StandardUser'
end
end
module Users
class SuperAdminUser < ApplicationRecord
self.table_name = 'users_super_admin_users'
has_many :accounts_owned_accounts, class_name: 'Accounts::Account', inverse_of: :users_account_owner, foreign_key: :users_account_owner_id
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class AdminUser < ApplicationRecord
self.table_name = 'users_admin_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class StandardUser < ApplicationRecord
self.table_name = 'users_standard_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Accounts
class AccountMembership < ActiveRecord::Base
self.table_name = 'accounts_account_memberships'
belongs_to :accounts_account, class_name: 'Accounts::Account', inverse_of: :accounts_account_memberships
belongs_to :users_account_member, polymorphic: true
end
end
class CreateUsersSuperAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_super_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersStandardUser < ActiveRecord::Migration[5.0]
def change
create_table :users_standard_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateAccountsAccount < ActiveRecord::Migration[5.0]
def change
create_table :accounts_accounts do |t|
t.string :name, index: { unique: true }
t.references :users_account_owner, index: true, foreign_key: { to_table: :users_super_admin_users }
t.timestamps null: false
end
end
end
class CreateAccountsAccountMembership < ActiveRecord::Migration[5.0]
def change
create_table :accounts_account_memberships do |t|
t.references :accounts_account, index: { name: 'index_accts_acct_mbrships_on_accts_acct_id' }
t.references :users_account_member, polymorphic: true, index: { name: 'index_accts_acct_mbrships_on_users_acct_member_type_and_id' }
t.timestamps null: false
end
end
end
Users::SuperAdminUser.create(email: 'garnold0@spotify.com', first_name: 'Gregory', last_name: 'Arnold', username: 'garnold0')
Users::SuperAdminUser.create(email: 'lsanders1@time.com', first_name: 'Lisa', last_name: 'Sanders', username: 'lsanders1')
Users::SuperAdminUser.create(email: 'ssanders2@ucsd.edu', first_name: 'Scott', last_name: 'Sanders', username: 'ssanders2')
Users::SuperAdminUser.create(email: 'aroberts3@g.co', first_name: 'Anthony', last_name: 'Roberts', username: 'aroberts3')
Users::SuperAdminUser.create(email: 'probinson4@bandcamp.com', first_name: 'Paula', last_name: 'Robinson', username: 'probinson4')
Users::SuperAdminUser.create(email: 'ncruz5@huffingtonpost.com', first_name: 'Nicole', last_name: 'Cruz', username: 'ncruz5')
Users::SuperAdminUser.create(email: 'gandrews6@cyberchimps.com', first_name: 'George', last_name: 'Andrews', username: 'gandrews6')
Users::SuperAdminUser.create(email: 'nwilson7@deviantart.com', first_name: 'Nicole', last_name: 'Wilson', username: 'nwilson7')
Users::SuperAdminUser.create(email: 'aedwards8@qq.com', first_name: 'Anne', last_name: 'Edwards', username: 'aedwards8')
Users::SuperAdminUser.create(email: 'rdavis9@geocities.jp', first_name: 'Ronald', last_name: 'Davis', username: 'rdavis9')
Users::AdminUser.create(email: 'lhawkinsa@icio.us', first_name: 'Lisa', last_name: 'Hawkins', username: 'lhawkinsa')
Users::AdminUser.create(email: 'htaylorb@imdb.com', first_name: 'Helen', last_name: 'Taylor', username: 'htaylorb')
Users::AdminUser.create(email: 'gtaylorc@unblog.fr', first_name: 'Gregory', last_name: 'Taylor', username: 'gtaylorc')
Users::AdminUser.create(email: 'hlaned@whitehouse.gov', first_name: 'Henry', last_name: 'Lane', username: 'hlaned')
Users::AdminUser.create(email: 'hphillipse@howstuffworks.com', first_name: 'Harry', last_name: 'Phillips', username: 'hphillipse')
Users::AdminUser.create(email: 'jgonzalesf@com.com', first_name: 'Jeffrey', last_name: 'Gonzales', username: 'jgonzalesf')
Users::AdminUser.create(email: 'ljamesg@sfgate.com', first_name: 'Lori', last_name: 'James', username: 'ljamesg')
Users::AdminUser.create(email: 'rhillh@gnu.org', first_name: 'Roger', last_name: 'Hill', username: 'rhillh')
Users::AdminUser.create(email: 'rharveyi@tripadvisor.com', first_name: 'Raymond', last_name: 'Harvey', username: 'rharveyi')
Users::AdminUser.create(email: 'sperryj@mit.edu', first_name: 'Stephen', last_name: 'Perry', username: 'sperryj')
Users::StandardUser.create(email: 'mblackk@prnewswire.com', first_name: 'Michelle', last_name: 'Black', username: 'mblackk')
Users::StandardUser.create(email: 'ghamiltonl@sciencedirect.com', first_name: 'Gary', last_name: 'Hamilton', username: 'ghamiltonl')
Users::StandardUser.create(email: 'cgraym@about.com', first_name: 'Chris', last_name: 'Gray', username: 'cgraym')
Users::StandardUser.create(email: 'jbradleyn@wikispaces.com', first_name: 'Jacqueline', last_name: 'Bradley', username: 'jbradleyn')
Users::StandardUser.create(email: 'jpayneo@netscape.com', first_name: 'Joseph', last_name: 'Payne', username: 'jpayneo')
Users::StandardUser.create(email: 'drodriguezp@apache.org', first_name: 'Debra', last_name: 'Rodriguez', username: 'drodriguezp')
Users::StandardUser.create(email: 'jkellyq@alexa.com', first_name: 'Jonathan', last_name: 'Kelly', username: 'jkellyq')
Users::StandardUser.create(email: 'creynoldsr@wired.com', first_name: 'Cheryl', last_name: 'Reynolds', username: 'creynoldsr')
Users::StandardUser.create(email: 'kbarness@pbs.org', first_name: 'Kathleen', last_name: 'Barnes', username: 'kbarness')
Users::StandardUser.create(email: 'ahansent@chron.com', first_name: 'Annie', last_name: 'Hansen', username: 'ahansent')
Accounts::Account.create(name: 'Ooba', users_account_owner_id: 1)
Accounts::Account.create(name: 'Avamba', users_account_owner_id: 2)
Accounts::Account.create(name: 'Linktype', users_account_owner_id: 3)
Accounts::Account.create(name: 'Brainsphere', users_account_owner_id: 4)
Accounts::Account.create(name: 'Wordtune', users_account_owner_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 10)
class CreateAccountsAccount
db/migrate/20170204001100\u创建帐户\u帐户\u成员资格。rb
module Accounts
class Account < ActiveRecord::Base
self.table_name = 'accounts_accounts'
belongs_to :users_account_owner, class_name: 'Users::SuperAdminUser', inverse_of: :accounts_owned_accounts
accepts_nested_attributes_for :users_account_owner
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :accounts_account, dependent: :destroy
has_many :users_super_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::SuperAdminUser'
has_many :users_admin_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::AdminUser'
has_many :users_standard_users, through: :accounts_account_memberships, source: :users_account_member, source_type: 'Users::StandardUser'
end
end
module Users
class SuperAdminUser < ApplicationRecord
self.table_name = 'users_super_admin_users'
has_many :accounts_owned_accounts, class_name: 'Accounts::Account', inverse_of: :users_account_owner, foreign_key: :users_account_owner_id
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class AdminUser < ApplicationRecord
self.table_name = 'users_admin_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Users
class StandardUser < ApplicationRecord
self.table_name = 'users_standard_users'
has_many :accounts_account_memberships, class_name: 'Accounts::AccountMembership', as: :users_account_member, dependent: :destroy
has_many :accounts_accounts, through: :accounts_account_memberships, source: 'Accounts::Account'
end
end
module Accounts
class AccountMembership < ActiveRecord::Base
self.table_name = 'accounts_account_memberships'
belongs_to :accounts_account, class_name: 'Accounts::Account', inverse_of: :accounts_account_memberships
belongs_to :users_account_member, polymorphic: true
end
end
class CreateUsersSuperAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_super_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersAdminUser < ActiveRecord::Migration[5.0]
def change
create_table :users_admin_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateUsersStandardUser < ActiveRecord::Migration[5.0]
def change
create_table :users_standard_users do |t|
t.string :email, index: { unique: true }
t.string :first_name
t.string :last_name
t.string :username, index: { unique: true }
t.timestamps null: false
end
end
end
class CreateAccountsAccount < ActiveRecord::Migration[5.0]
def change
create_table :accounts_accounts do |t|
t.string :name, index: { unique: true }
t.references :users_account_owner, index: true, foreign_key: { to_table: :users_super_admin_users }
t.timestamps null: false
end
end
end
class CreateAccountsAccountMembership < ActiveRecord::Migration[5.0]
def change
create_table :accounts_account_memberships do |t|
t.references :accounts_account, index: { name: 'index_accts_acct_mbrships_on_accts_acct_id' }
t.references :users_account_member, polymorphic: true, index: { name: 'index_accts_acct_mbrships_on_users_acct_member_type_and_id' }
t.timestamps null: false
end
end
end
Users::SuperAdminUser.create(email: 'garnold0@spotify.com', first_name: 'Gregory', last_name: 'Arnold', username: 'garnold0')
Users::SuperAdminUser.create(email: 'lsanders1@time.com', first_name: 'Lisa', last_name: 'Sanders', username: 'lsanders1')
Users::SuperAdminUser.create(email: 'ssanders2@ucsd.edu', first_name: 'Scott', last_name: 'Sanders', username: 'ssanders2')
Users::SuperAdminUser.create(email: 'aroberts3@g.co', first_name: 'Anthony', last_name: 'Roberts', username: 'aroberts3')
Users::SuperAdminUser.create(email: 'probinson4@bandcamp.com', first_name: 'Paula', last_name: 'Robinson', username: 'probinson4')
Users::SuperAdminUser.create(email: 'ncruz5@huffingtonpost.com', first_name: 'Nicole', last_name: 'Cruz', username: 'ncruz5')
Users::SuperAdminUser.create(email: 'gandrews6@cyberchimps.com', first_name: 'George', last_name: 'Andrews', username: 'gandrews6')
Users::SuperAdminUser.create(email: 'nwilson7@deviantart.com', first_name: 'Nicole', last_name: 'Wilson', username: 'nwilson7')
Users::SuperAdminUser.create(email: 'aedwards8@qq.com', first_name: 'Anne', last_name: 'Edwards', username: 'aedwards8')
Users::SuperAdminUser.create(email: 'rdavis9@geocities.jp', first_name: 'Ronald', last_name: 'Davis', username: 'rdavis9')
Users::AdminUser.create(email: 'lhawkinsa@icio.us', first_name: 'Lisa', last_name: 'Hawkins', username: 'lhawkinsa')
Users::AdminUser.create(email: 'htaylorb@imdb.com', first_name: 'Helen', last_name: 'Taylor', username: 'htaylorb')
Users::AdminUser.create(email: 'gtaylorc@unblog.fr', first_name: 'Gregory', last_name: 'Taylor', username: 'gtaylorc')
Users::AdminUser.create(email: 'hlaned@whitehouse.gov', first_name: 'Henry', last_name: 'Lane', username: 'hlaned')
Users::AdminUser.create(email: 'hphillipse@howstuffworks.com', first_name: 'Harry', last_name: 'Phillips', username: 'hphillipse')
Users::AdminUser.create(email: 'jgonzalesf@com.com', first_name: 'Jeffrey', last_name: 'Gonzales', username: 'jgonzalesf')
Users::AdminUser.create(email: 'ljamesg@sfgate.com', first_name: 'Lori', last_name: 'James', username: 'ljamesg')
Users::AdminUser.create(email: 'rhillh@gnu.org', first_name: 'Roger', last_name: 'Hill', username: 'rhillh')
Users::AdminUser.create(email: 'rharveyi@tripadvisor.com', first_name: 'Raymond', last_name: 'Harvey', username: 'rharveyi')
Users::AdminUser.create(email: 'sperryj@mit.edu', first_name: 'Stephen', last_name: 'Perry', username: 'sperryj')
Users::StandardUser.create(email: 'mblackk@prnewswire.com', first_name: 'Michelle', last_name: 'Black', username: 'mblackk')
Users::StandardUser.create(email: 'ghamiltonl@sciencedirect.com', first_name: 'Gary', last_name: 'Hamilton', username: 'ghamiltonl')
Users::StandardUser.create(email: 'cgraym@about.com', first_name: 'Chris', last_name: 'Gray', username: 'cgraym')
Users::StandardUser.create(email: 'jbradleyn@wikispaces.com', first_name: 'Jacqueline', last_name: 'Bradley', username: 'jbradleyn')
Users::StandardUser.create(email: 'jpayneo@netscape.com', first_name: 'Joseph', last_name: 'Payne', username: 'jpayneo')
Users::StandardUser.create(email: 'drodriguezp@apache.org', first_name: 'Debra', last_name: 'Rodriguez', username: 'drodriguezp')
Users::StandardUser.create(email: 'jkellyq@alexa.com', first_name: 'Jonathan', last_name: 'Kelly', username: 'jkellyq')
Users::StandardUser.create(email: 'creynoldsr@wired.com', first_name: 'Cheryl', last_name: 'Reynolds', username: 'creynoldsr')
Users::StandardUser.create(email: 'kbarness@pbs.org', first_name: 'Kathleen', last_name: 'Barnes', username: 'kbarness')
Users::StandardUser.create(email: 'ahansent@chron.com', first_name: 'Annie', last_name: 'Hansen', username: 'ahansent')
Accounts::Account.create(name: 'Ooba', users_account_owner_id: 1)
Accounts::Account.create(name: 'Avamba', users_account_owner_id: 2)
Accounts::Account.create(name: 'Linktype', users_account_owner_id: 3)
Accounts::Account.create(name: 'Brainsphere', users_account_owner_id: 4)
Accounts::Account.create(name: 'Wordtune', users_account_owner_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 1)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 2)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 3)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 4)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 5)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::AdminUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::StandardUser', users_account_member_id: 6)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::AdminUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::StandardUser', users_account_member_id: 7)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::AdminUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::StandardUser', users_account_member_id: 8)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 1, users_account_member_type: 'Users::AdminUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 2, users_account_member_type: 'Users::StandardUser', users_account_member_id: 9)
Accounts::AccountMembership.create(accounts_account_id: 3, users_account_member_type: 'Users::SuperAdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 4, users_account_member_type: 'Users::AdminUser', users_account_member_id: 10)
Accounts::AccountMembership.create(accounts_account_id: 5, users_account_member_type: 'Users::StandardUser', users_account_member_id: 10)
class CreateAccountsAccountMembership
要使用这种多态关联,您必须在AccountMembership中声明一个类型列