Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // WithGlobalUniqueID sets the universal ids options to the migration. // If this option is enabled, ent migration will allocate a 1<<32 range // for the ids of each entity (table). // Note that this option cannot be applied on tables that already exist. WithGlobalUniqueID = schema.WithGlobalUniqueID // WithDropColumn sets the drop column option to the migration. // If this option is enabled, ent migration will drop old columns // that were used for both fields and edges. This defaults to false. WithDropColumn = schema.WithDropColumn // WithDropIndex sets the drop index option to the migration. // If this option is enabled, ent migration will drop old indexes // that were defined in the schema. This defaults to false. // Note that unique constraints are defined using `UNIQUE INDEX`, // and therefore, it's recommended to enable this option to get more // flexibility in the schema changes. WithDropIndex = schema.WithDropIndex // WithForeignKeys enables creating foreign-key in schema DDL. This defaults to true. WithForeignKeys = schema.WithForeignKeys )
View Source
var ( // LionAuthProvidersColumns holds the columns for the "lion_auth_providers" table. LionAuthProvidersColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "name", Type: field.TypeString, Unique: true}, {Name: "provider_type", Type: field.TypeInt}, {Name: "client_id", Type: field.TypeString, Default: ""}, {Name: "enabled", Type: field.TypeBool, Default: true}, {Name: "client_secret_encrypted", Type: field.TypeBytes}, {Name: "scopes", Type: field.TypeString, Default: ""}, {Name: "redirect_uri", Type: field.TypeString, Default: ""}, {Name: "issuer", Type: field.TypeString, Default: ""}, {Name: "authorization_endpoint", Type: field.TypeString, Default: ""}, {Name: "token_endpoint", Type: field.TypeString, Default: ""}, {Name: "userinfo_endpoint", Type: field.TypeString, Default: ""}, } // LionAuthProvidersTable holds the schema information for the "lion_auth_providers" table. LionAuthProvidersTable = &schema.Table{ Name: "lion_auth_providers", Columns: LionAuthProvidersColumns, PrimaryKey: []*schema.Column{LionAuthProvidersColumns[0]}, } // LionCredentialsColumns holds the columns for the "lion_credentials" table. LionCredentialsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "name", Type: field.TypeString}, {Name: "credential_type", Type: field.TypeInt, Default: 0}, {Name: "credential_algorithm", Type: field.TypeInt, Default: 0}, {Name: "credential_usage", Type: field.TypeInt, Default: 0}, {Name: "credential_visibility", Type: field.TypeInt, Default: 1}, {Name: "credential_status", Type: field.TypeInt, Default: 1}, {Name: "credential_source", Type: field.TypeInt, Default: 0}, {Name: "key_id", Type: field.TypeString, Nullable: true}, {Name: "api_key", Type: field.TypeString, Nullable: true}, {Name: "api_secret_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "public_key", Type: field.TypeString, Nullable: true}, {Name: "private_key_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "passphrase_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "certificate", Type: field.TypeBytes, Nullable: true}, {Name: "ca_chain", Type: field.TypeJSON, Nullable: true}, {Name: "license_key_encrypted", Type: field.TypeString, Nullable: true}, {Name: "signature", Type: field.TypeString, Nullable: true}, {Name: "symmetric_key", Type: field.TypeBytes, Nullable: true}, {Name: "jwks_uri", Type: field.TypeString, Nullable: true}, {Name: "not_before", Type: field.TypeTime, Nullable: true}, {Name: "expires_at", Type: field.TypeTime, Nullable: true}, {Name: "metadata", Type: field.TypeJSON, Nullable: true}, {Name: "description", Type: field.TypeString, Nullable: true}, } // LionCredentialsTable holds the schema information for the "lion_credentials" table. LionCredentialsTable = &schema.Table{ Name: "lion_credentials", Columns: LionCredentialsColumns, PrimaryKey: []*schema.Column{LionCredentialsColumns[0]}, } // LionDemoColumns holds the columns for the "lion_demo" table. LionDemoColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, {Name: "name", Type: field.TypeString, Default: "grpc-kit"}, } // LionDemoTable holds the schema information for the "lion_demo" table. LionDemoTable = &schema.Table{ Name: "lion_demo", Columns: LionDemoColumns, PrimaryKey: []*schema.Column{LionDemoColumns[0]}, } // LionDepartmentRolesColumns holds the columns for the "lion_department_roles" table. LionDepartmentRolesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "department_id", Type: field.TypeInt}, {Name: "role_id", Type: field.TypeInt}, } // LionDepartmentRolesTable holds the schema information for the "lion_department_roles" table. LionDepartmentRolesTable = &schema.Table{ Name: "lion_department_roles", Columns: LionDepartmentRolesColumns, PrimaryKey: []*schema.Column{LionDepartmentRolesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "lion_department_roles_lion_departments_lion_department_roles", Columns: []*schema.Column{LionDepartmentRolesColumns[5]}, RefColumns: []*schema.Column{LionDepartmentsColumns[0]}, OnDelete: schema.NoAction, }, { Symbol: "lion_department_roles_lion_roles_lion_department_roles", Columns: []*schema.Column{LionDepartmentRolesColumns[6]}, RefColumns: []*schema.Column{LionRolesColumns[0]}, OnDelete: schema.NoAction, }, }, Indexes: []*schema.Index{ { Name: "departmentroles_role_id_department_id", Unique: true, Columns: []*schema.Column{LionDepartmentRolesColumns[6], LionDepartmentRolesColumns[5]}, }, }, } // LionDepartmentsColumns holds the columns for the "lion_departments" table. LionDepartmentsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "parent_id", Type: field.TypeInt, Default: 0}, {Name: "name", Type: field.TypeString, Size: 256}, {Name: "department_type", Type: field.TypeInt, Default: 0}, {Name: "department_status", Type: field.TypeInt, Default: 1}, {Name: "sort_order", Type: field.TypeInt, Default: 100}, {Name: "email_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "phone_number_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "address_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "cost_center_code", Type: field.TypeString, Nullable: true}, {Name: "budget_item_code", Type: field.TypeString, Nullable: true}, {Name: "max_members", Type: field.TypeInt, Default: 0}, {Name: "external_id", Type: field.TypeString, Nullable: true}, {Name: "metadata", Type: field.TypeJSON, Nullable: true}, {Name: "description", Type: field.TypeString, Default: ""}, } // LionDepartmentsTable holds the schema information for the "lion_departments" table. LionDepartmentsTable = &schema.Table{ Name: "lion_departments", Columns: LionDepartmentsColumns, PrimaryKey: []*schema.Column{LionDepartmentsColumns[0]}, } // LionGroupRolesColumns holds the columns for the "lion_group_roles" table. LionGroupRolesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "group_id", Type: field.TypeInt}, {Name: "role_id", Type: field.TypeInt}, } // LionGroupRolesTable holds the schema information for the "lion_group_roles" table. LionGroupRolesTable = &schema.Table{ Name: "lion_group_roles", Columns: LionGroupRolesColumns, PrimaryKey: []*schema.Column{LionGroupRolesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "lion_group_roles_lion_groups_lion_groups", Columns: []*schema.Column{LionGroupRolesColumns[5]}, RefColumns: []*schema.Column{LionGroupsColumns[0]}, OnDelete: schema.NoAction, }, { Symbol: "lion_group_roles_lion_roles_lion_role_groups", Columns: []*schema.Column{LionGroupRolesColumns[6]}, RefColumns: []*schema.Column{LionRolesColumns[0]}, OnDelete: schema.NoAction, }, }, Indexes: []*schema.Index{ { Name: "grouproles_group_id_role_id", Unique: true, Columns: []*schema.Column{LionGroupRolesColumns[5], LionGroupRolesColumns[6]}, }, }, } // LionGroupsColumns holds the columns for the "lion_groups" table. LionGroupsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "name", Type: field.TypeString, Unique: true, Size: 128}, {Name: "group_type", Type: field.TypeInt, Default: 0}, {Name: "group_status", Type: field.TypeInt, Default: 0}, {Name: "sort_order", Type: field.TypeInt, Default: 100}, {Name: "parent_id", Type: field.TypeInt, Default: 0}, {Name: "max_members", Type: field.TypeInt, Default: 0}, {Name: "metadata", Type: field.TypeJSON}, {Name: "external_id", Type: field.TypeString, Default: ""}, {Name: "description", Type: field.TypeString, Default: ""}, {Name: "department_id", Type: field.TypeInt, Default: 1}, } // LionGroupsTable holds the schema information for the "lion_groups" table. LionGroupsTable = &schema.Table{ Name: "lion_groups", Columns: LionGroupsColumns, PrimaryKey: []*schema.Column{LionGroupsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "lion_groups_lion_departments_lion_groups", Columns: []*schema.Column{LionGroupsColumns[15]}, RefColumns: []*schema.Column{LionDepartmentsColumns[0]}, OnDelete: schema.NoAction, }, }, Indexes: []*schema.Index{ { Name: "groups_name", Unique: true, Columns: []*schema.Column{LionGroupsColumns[6]}, }, { Name: "groups_group_type", Unique: false, Columns: []*schema.Column{LionGroupsColumns[7]}, }, { Name: "groups_group_status", Unique: false, Columns: []*schema.Column{LionGroupsColumns[8]}, }, }, } // LionPermissionsColumns holds the columns for the "lion_permissions" table. LionPermissionsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "resource_id", Type: field.TypeInt}, } // LionPermissionsTable holds the schema information for the "lion_permissions" table. LionPermissionsTable = &schema.Table{ Name: "lion_permissions", Columns: LionPermissionsColumns, PrimaryKey: []*schema.Column{LionPermissionsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "lion_permissions_lion_resources_lion_permissions", Columns: []*schema.Column{LionPermissionsColumns[5]}, RefColumns: []*schema.Column{LionResourcesColumns[0]}, OnDelete: schema.Cascade, }, }, } // LionPoliciesColumns holds the columns for the "lion_policies" table. LionPoliciesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "name", Type: field.TypeString, Default: "grpc-kit"}, } // LionPoliciesTable holds the schema information for the "lion_policies" table. LionPoliciesTable = &schema.Table{ Name: "lion_policies", Columns: LionPoliciesColumns, PrimaryKey: []*schema.Column{LionPoliciesColumns[0]}, } // LionResourcesColumns holds the columns for the "lion_resources" table. LionResourcesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "parent_id", Type: field.TypeInt, Default: 0}, {Name: "name", Type: field.TypeString, Size: 128}, {Name: "sort_order", Type: field.TypeInt, Default: 100}, {Name: "resource_type", Type: field.TypeInt, Default: 0}, {Name: "resource_scope", Type: field.TypeInt, Default: 0}, {Name: "enabled", Type: field.TypeBool, Default: true}, {Name: "hidden", Type: field.TypeBool, Default: false}, {Name: "hide_children", Type: field.TypeBool, Default: false}, {Name: "path", Type: field.TypeString, Size: 512, Default: ""}, {Name: "icon", Type: field.TypeString, Size: 256, Default: ""}, {Name: "component", Type: field.TypeString, Size: 256, Default: ""}, {Name: "description", Type: field.TypeString, Default: ""}, } // LionResourcesTable holds the schema information for the "lion_resources" table. LionResourcesTable = &schema.Table{ Name: "lion_resources", Columns: LionResourcesColumns, PrimaryKey: []*schema.Column{LionResourcesColumns[0]}, Indexes: []*schema.Index{ { Name: "resources_parent_id", Unique: false, Columns: []*schema.Column{LionResourcesColumns[6]}, }, { Name: "resources_resource_type_resource_scope", Unique: false, Columns: []*schema.Column{LionResourcesColumns[9], LionResourcesColumns[10]}, }, { Name: "resources_enabled", Unique: false, Columns: []*schema.Column{LionResourcesColumns[11]}, }, { Name: "resources_sort_order", Unique: false, Columns: []*schema.Column{LionResourcesColumns[8]}, }, { Name: "resources_path", Unique: false, Columns: []*schema.Column{LionResourcesColumns[14]}, }, { Name: "resources_parent_id_sort_order", Unique: false, Columns: []*schema.Column{LionResourcesColumns[6], LionResourcesColumns[8]}, }, }, } // LionRolePermissionsColumns holds the columns for the "lion_role_permissions" table. LionRolePermissionsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "permission_id", Type: field.TypeInt}, {Name: "role_id", Type: field.TypeInt}, } // LionRolePermissionsTable holds the schema information for the "lion_role_permissions" table. LionRolePermissionsTable = &schema.Table{ Name: "lion_role_permissions", Columns: LionRolePermissionsColumns, PrimaryKey: []*schema.Column{LionRolePermissionsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "lion_role_permissions_lion_permissions_lion_role_permissions", Columns: []*schema.Column{LionRolePermissionsColumns[5]}, RefColumns: []*schema.Column{LionPermissionsColumns[0]}, OnDelete: schema.NoAction, }, { Symbol: "lion_role_permissions_lion_roles_lion_role_permissions", Columns: []*schema.Column{LionRolePermissionsColumns[6]}, RefColumns: []*schema.Column{LionRolesColumns[0]}, OnDelete: schema.NoAction, }, }, Indexes: []*schema.Index{ { Name: "rolepermissions_role_id_permission_id", Unique: true, Columns: []*schema.Column{LionRolePermissionsColumns[6], LionRolePermissionsColumns[5]}, }, }, } // LionRolesColumns holds the columns for the "lion_roles" table. LionRolesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "name", Type: field.TypeString, Size: 256}, {Name: "role_type", Type: field.TypeInt, Default: 0}, {Name: "role_status", Type: field.TypeInt, Default: 0}, {Name: "sort_order", Type: field.TypeInt, Default: 100}, {Name: "description", Type: field.TypeString, Default: ""}, } // LionRolesTable holds the schema information for the "lion_roles" table. LionRolesTable = &schema.Table{ Name: "lion_roles", Columns: LionRolesColumns, PrimaryKey: []*schema.Column{LionRolesColumns[0]}, Indexes: []*schema.Index{ { Name: "roles_name", Unique: true, Columns: []*schema.Column{LionRolesColumns[6]}, }, }, } // LionUserDepartmentsColumns holds the columns for the "lion_user_departments" table. LionUserDepartmentsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "member_role", Type: field.TypeInt, Default: 0}, {Name: "member_status", Type: field.TypeInt, Default: 0}, {Name: "member_type", Type: field.TypeInt, Default: 0}, {Name: "expired_at", Type: field.TypeTime, Nullable: true}, {Name: "metadata", Type: field.TypeString, Nullable: true}, {Name: "description", Type: field.TypeString, Default: ""}, {Name: "department_id", Type: field.TypeInt}, {Name: "user_id", Type: field.TypeInt}, } // LionUserDepartmentsTable holds the schema information for the "lion_user_departments" table. LionUserDepartmentsTable = &schema.Table{ Name: "lion_user_departments", Columns: LionUserDepartmentsColumns, PrimaryKey: []*schema.Column{LionUserDepartmentsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "lion_user_departments_lion_departments_lion_user_departments", Columns: []*schema.Column{LionUserDepartmentsColumns[11]}, RefColumns: []*schema.Column{LionDepartmentsColumns[0]}, OnDelete: schema.NoAction, }, { Symbol: "lion_user_departments_lion_users_lion_user_departments", Columns: []*schema.Column{LionUserDepartmentsColumns[12]}, RefColumns: []*schema.Column{LionUsersColumns[0]}, OnDelete: schema.NoAction, }, }, Indexes: []*schema.Index{ { Name: "userdepartments_user_id_department_id", Unique: true, Columns: []*schema.Column{LionUserDepartmentsColumns[12], LionUserDepartmentsColumns[11]}, }, { Name: "userdepartments_user_id", Unique: true, Columns: []*schema.Column{LionUserDepartmentsColumns[12]}, Annotation: &entsql.IndexAnnotation{ Where: "member_type = 1", }, }, }, } // LionUserGroupsColumns holds the columns for the "lion_user_groups" table. LionUserGroupsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "member_role", Type: field.TypeInt, Default: 0}, {Name: "member_status", Type: field.TypeInt, Default: 0}, {Name: "joined_at", Type: field.TypeTime, Nullable: true}, {Name: "expired_at", Type: field.TypeTime, Nullable: true}, {Name: "metadata", Type: field.TypeJSON, Nullable: true}, {Name: "description", Type: field.TypeString, Default: ""}, {Name: "group_id", Type: field.TypeInt}, {Name: "user_id", Type: field.TypeInt}, } // LionUserGroupsTable holds the schema information for the "lion_user_groups" table. LionUserGroupsTable = &schema.Table{ Name: "lion_user_groups", Columns: LionUserGroupsColumns, PrimaryKey: []*schema.Column{LionUserGroupsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "lion_user_groups_lion_groups_lion_user_groups", Columns: []*schema.Column{LionUserGroupsColumns[11]}, RefColumns: []*schema.Column{LionGroupsColumns[0]}, OnDelete: schema.NoAction, }, { Symbol: "lion_user_groups_lion_users_lion_user_groups", Columns: []*schema.Column{LionUserGroupsColumns[12]}, RefColumns: []*schema.Column{LionUsersColumns[0]}, OnDelete: schema.NoAction, }, }, Indexes: []*schema.Index{ { Name: "usergroups_user_id_group_id", Unique: true, Columns: []*schema.Column{LionUserGroupsColumns[12], LionUserGroupsColumns[11]}, }, }, } // LionUserIdentitiesColumns holds the columns for the "lion_user_identities" table. LionUserIdentitiesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "provider_user_id", Type: field.TypeString}, {Name: "provider_union_id", Type: field.TypeString, Nullable: true}, {Name: "password_hash", Type: field.TypeString, Default: ""}, {Name: "mfa_enabled", Type: field.TypeBool, Default: false}, {Name: "mfa_secret_encrypted", Type: field.TypeBytes}, {Name: "access_token_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "refresh_token_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "password_changed_at", Type: field.TypeTime, Nullable: true}, {Name: "password_expires_at", Type: field.TypeTime, Nullable: true}, {Name: "token_expires_at", Type: field.TypeTime, Nullable: true}, {Name: "last_login_at", Type: field.TypeTime, Nullable: true}, {Name: "provider_id", Type: field.TypeInt}, {Name: "user_id", Type: field.TypeInt}, } // LionUserIdentitiesTable holds the schema information for the "lion_user_identities" table. LionUserIdentitiesTable = &schema.Table{ Name: "lion_user_identities", Columns: LionUserIdentitiesColumns, PrimaryKey: []*schema.Column{LionUserIdentitiesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "lion_user_identities_lion_auth_providers_lion_user_identities", Columns: []*schema.Column{LionUserIdentitiesColumns[16]}, RefColumns: []*schema.Column{LionAuthProvidersColumns[0]}, OnDelete: schema.NoAction, }, { Symbol: "lion_user_identities_lion_users_lion_user_identities", Columns: []*schema.Column{LionUserIdentitiesColumns[17]}, RefColumns: []*schema.Column{LionUsersColumns[0]}, OnDelete: schema.NoAction, }, }, Indexes: []*schema.Index{ { Name: "useridentities_user_id_provider_id", Unique: true, Columns: []*schema.Column{LionUserIdentitiesColumns[17], LionUserIdentitiesColumns[16]}, }, }, } // LionUserProfilesColumns holds the columns for the "lion_user_profiles" table. LionUserProfilesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, {Name: "user_id", Type: field.TypeInt}, {Name: "attr_key", Type: field.TypeString}, {Name: "attr_value", Type: field.TypeString}, } // LionUserProfilesTable holds the schema information for the "lion_user_profiles" table. LionUserProfilesTable = &schema.Table{ Name: "lion_user_profiles", Columns: LionUserProfilesColumns, PrimaryKey: []*schema.Column{LionUserProfilesColumns[0]}, Indexes: []*schema.Index{ { Name: "userprofiles_user_id_attr_key", Unique: true, Columns: []*schema.Column{LionUserProfilesColumns[4], LionUserProfilesColumns[5]}, }, }, } // LionUserRolesColumns holds the columns for the "lion_user_roles" table. LionUserRolesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "role_id", Type: field.TypeInt}, {Name: "user_id", Type: field.TypeInt}, } // LionUserRolesTable holds the schema information for the "lion_user_roles" table. LionUserRolesTable = &schema.Table{ Name: "lion_user_roles", Columns: LionUserRolesColumns, PrimaryKey: []*schema.Column{LionUserRolesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "lion_user_roles_lion_roles_lion_user_roles", Columns: []*schema.Column{LionUserRolesColumns[5]}, RefColumns: []*schema.Column{LionRolesColumns[0]}, OnDelete: schema.NoAction, }, { Symbol: "lion_user_roles_lion_users_lion_user_roles", Columns: []*schema.Column{LionUserRolesColumns[6]}, RefColumns: []*schema.Column{LionUsersColumns[0]}, OnDelete: schema.NoAction, }, }, Indexes: []*schema.Index{ { Name: "userroles_user_id_role_id", Unique: true, Columns: []*schema.Column{LionUserRolesColumns[6], LionUserRolesColumns[5]}, }, }, } // LionUsersColumns holds the columns for the "lion_users" table. LionUsersColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, {Name: "created_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "updated_by", Type: field.TypeInt64, Nullable: true, Default: 0}, {Name: "username", Type: field.TypeString, Unique: true, Size: 255}, {Name: "realname_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "user_type", Type: field.TypeInt, Default: 0}, {Name: "user_status", Type: field.TypeInt, Default: 0}, {Name: "national_id_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "national_id_hash", Type: field.TypeString, Nullable: true}, {Name: "nickname", Type: field.TypeString, Nullable: true}, {Name: "profile", Type: field.TypeString, Nullable: true, Size: 500}, {Name: "picture", Type: field.TypeString, Nullable: true}, {Name: "website", Type: field.TypeString, Nullable: true}, {Name: "email_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "email_hash", Type: field.TypeString, Nullable: true}, {Name: "email_verified", Type: field.TypeBool, Default: false}, {Name: "gender", Type: field.TypeInt, Default: 0}, {Name: "birthdate", Type: field.TypeTime, Nullable: true}, {Name: "timezone", Type: field.TypeString, Nullable: true}, {Name: "locale", Type: field.TypeString, Nullable: true}, {Name: "phone_number_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "phone_number_hash", Type: field.TypeString, Nullable: true}, {Name: "phone_number_verified", Type: field.TypeBool, Default: false}, {Name: "address_encrypted", Type: field.TypeBytes, Nullable: true}, {Name: "description", Type: field.TypeString, Nullable: true, Size: 4096}, {Name: "metadata", Type: field.TypeJSON, Nullable: true}, } // LionUsersTable holds the schema information for the "lion_users" table. LionUsersTable = &schema.Table{ Name: "lion_users", Columns: LionUsersColumns, PrimaryKey: []*schema.Column{LionUsersColumns[0]}, Indexes: []*schema.Index{ { Name: "users_email_hash", Unique: true, Columns: []*schema.Column{LionUsersColumns[17]}, Annotation: &entsql.IndexAnnotation{ Where: "email_hash != '' AND email_hash IS NOT NULL", }, }, { Name: "users_phone_number_hash", Unique: true, Columns: []*schema.Column{LionUsersColumns[24]}, Annotation: &entsql.IndexAnnotation{ Where: "phone_number_hash != '' AND phone_number_hash IS NOT NULL", }, }, { Name: "users_national_id_hash", Unique: true, Columns: []*schema.Column{LionUsersColumns[11]}, Annotation: &entsql.IndexAnnotation{ Where: "national_id_hash != '' AND national_id_hash IS NOT NULL", }, }, { Name: "users_deleted_at_user_status_created_at", Unique: false, Columns: []*schema.Column{LionUsersColumns[3], LionUsersColumns[9], LionUsersColumns[1]}, }, { Name: "users_deleted_at_user_type_user_status_created_at", Unique: false, Columns: []*schema.Column{LionUsersColumns[3], LionUsersColumns[8], LionUsersColumns[9], LionUsersColumns[1]}, }, { Name: "users_deleted_at_created_at", Unique: false, Columns: []*schema.Column{LionUsersColumns[3], LionUsersColumns[1]}, }, { Name: "users_user_type_user_status", Unique: false, Columns: []*schema.Column{LionUsersColumns[8], LionUsersColumns[9]}, }, { Name: "users_user_type_created_at", Unique: false, Columns: []*schema.Column{LionUsersColumns[8], LionUsersColumns[1]}, }, { Name: "users_user_type", Unique: false, Columns: []*schema.Column{LionUsersColumns[8]}, }, { Name: "users_user_status", Unique: false, Columns: []*schema.Column{LionUsersColumns[9]}, }, { Name: "users_email_hash_email_verified", Unique: false, Columns: []*schema.Column{LionUsersColumns[17], LionUsersColumns[18]}, Annotation: &entsql.IndexAnnotation{ Where: "email_hash != '' AND email_hash IS NOT NULL", }, }, { Name: "users_phone_number_hash_phone_number_verified", Unique: false, Columns: []*schema.Column{LionUsersColumns[24], LionUsersColumns[25]}, Annotation: &entsql.IndexAnnotation{ Where: "phone_number_hash != '' AND phone_number_hash IS NOT NULL", }, }, { Name: "users_created_at", Unique: false, Columns: []*schema.Column{LionUsersColumns[1]}, }, { Name: "users_created_by_created_at", Unique: false, Columns: []*schema.Column{LionUsersColumns[4], LionUsersColumns[1]}, }, { Name: "users_updated_by_updated_at", Unique: false, Columns: []*schema.Column{LionUsersColumns[5], LionUsersColumns[2]}, }, }, } // Tables holds all the tables in the schema. Tables = []*schema.Table{ LionAuthProvidersTable, LionCredentialsTable, LionDemoTable, LionDepartmentRolesTable, LionDepartmentsTable, LionGroupRolesTable, LionGroupsTable, LionPermissionsTable, LionPoliciesTable, LionResourcesTable, LionRolePermissionsTable, LionRolesTable, LionUserDepartmentsTable, LionUserGroupsTable, LionUserIdentitiesTable, LionUserProfilesTable, LionUserRolesTable, LionUsersTable, } )
Functions ¶
Types ¶
type Schema ¶
type Schema struct {
// contains filtered or unexported fields
}
Schema is the API for creating, migrating and dropping a schema.
Click to show internal directories.
Click to hide internal directories.