This commit is contained in:
Chris Tsang 2023-12-14 20:03:02 +00:00
parent 91b6f79ba7
commit 8a29cba78a
10 changed files with 26 additions and 36 deletions

View File

@ -5,7 +5,7 @@ use sea_orm::entity::prelude::*;
pub struct Model { pub struct Model {
#[sea_orm(primary_key)] #[sea_orm(primary_key)]
pub id: i32, pub id: i32,
pub user_id: Option<i32> , pub user_id: Option<i32>,
} }
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
@ -15,7 +15,7 @@ pub enum Relation {
from = "Column::UserId", from = "Column::UserId",
to = "super::users::Column::Id", to = "super::users::Column::Id",
on_update = "NoAction", on_update = "NoAction",
on_delete = "NoAction", on_delete = "NoAction"
)] )]
Users, Users,
#[sea_orm(has_many = "super::users_saved_bills::Entity")] #[sea_orm(has_many = "super::users_saved_bills::Entity")]

View File

@ -16,7 +16,7 @@ pub enum Relation {
from = "Column::BillId", from = "Column::BillId",
to = "super::bills::Column::Id", to = "super::bills::Column::Id",
on_update = "Cascade", on_update = "Cascade",
on_delete = "Cascade", on_delete = "Cascade"
)] )]
Bills, Bills,
#[sea_orm( #[sea_orm(
@ -24,7 +24,7 @@ pub enum Relation {
from = "Column::UserId", from = "Column::UserId",
to = "super::users::Column::Id", to = "super::users::Column::Id",
on_update = "Cascade", on_update = "Cascade",
on_delete = "Cascade", on_delete = "Cascade"
)] )]
Users, Users,
} }

View File

@ -17,7 +17,7 @@ pub enum Relation {
from = "Column::BillId", from = "Column::BillId",
to = "super::bills::Column::Id", to = "super::bills::Column::Id",
on_update = "Cascade", on_update = "Cascade",
on_delete = "Cascade", on_delete = "Cascade"
)] )]
Bills, Bills,
#[sea_orm( #[sea_orm(
@ -25,7 +25,7 @@ pub enum Relation {
from = "Column::UserId", from = "Column::UserId",
to = "super::users::Column::Id", to = "super::users::Column::Id",
on_update = "Cascade", on_update = "Cascade",
on_delete = "Cascade", on_delete = "Cascade"
)] )]
Users, Users,
} }

View File

@ -5,7 +5,7 @@ use sea_orm::entity::prelude::*;
pub struct Model { pub struct Model {
#[sea_orm(primary_key)] #[sea_orm(primary_key)]
pub id: i32, pub id: i32,
pub user_id: Option<i32> , pub user_id: Option<i32>,
} }
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
@ -15,7 +15,7 @@ pub enum Relation {
from = "Column::UserId", from = "Column::UserId",
to = "super::users::Column::Id", to = "super::users::Column::Id",
on_update = "NoAction", on_update = "NoAction",
on_delete = "NoAction", on_delete = "NoAction"
)] )]
Users, Users,
#[sea_orm(has_many = "super::users_votes::Entity")] #[sea_orm(has_many = "super::users_votes::Entity")]

View File

@ -17,7 +17,7 @@ pub enum Relation {
from = "Column::BillId", from = "Column::BillId",
to = "super::bills::Column::Id", to = "super::bills::Column::Id",
on_update = "Cascade", on_update = "Cascade",
on_delete = "Cascade", on_delete = "Cascade"
)] )]
Bills, Bills,
#[sea_orm( #[sea_orm(
@ -25,7 +25,7 @@ pub enum Relation {
from = "Column::UserId", from = "Column::UserId",
to = "super::users::Column::Id", to = "super::users::Column::Id",
on_update = "Cascade", on_update = "Cascade",
on_delete = "Cascade", on_delete = "Cascade"
)] )]
Users, Users,
} }

View File

@ -5,7 +5,7 @@ use sea_orm::entity::prelude::*;
pub struct Model { pub struct Model {
#[sea_orm(primary_key)] #[sea_orm(primary_key)]
pub id: i32, pub id: i32,
pub user_id: Option<i32> , pub user_id: Option<i32>,
} }
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
@ -15,7 +15,7 @@ pub enum Relation {
from = "Column::UserId", from = "Column::UserId",
to = "super::users::Column::Id", to = "super::users::Column::Id",
on_update = "NoAction", on_update = "NoAction",
on_delete = "NoAction", on_delete = "NoAction"
)] )]
Users, Users,
} }

View File

@ -7,8 +7,8 @@ pub struct Model {
pub user_id: i32, pub user_id: i32,
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub bill_id: i32, pub bill_id: i32,
pub user_idd: Option<i32> , pub user_idd: Option<i32>,
pub bill_idd: Option<i32> , pub bill_idd: Option<i32>,
pub vote: bool, pub vote: bool,
} }
@ -17,25 +17,25 @@ pub enum Relation {
#[sea_orm( #[sea_orm(
belongs_to = "super::bills::Entity", belongs_to = "super::bills::Entity",
from = "Column::BillIdd", from = "Column::BillIdd",
to = "super::bills::Column::Id", to = "super::bills::Column::Id"
)] )]
Bills2, Bills2,
#[sea_orm( #[sea_orm(
belongs_to = "super::bills::Entity", belongs_to = "super::bills::Entity",
from = "Column::BillId", from = "Column::BillId",
to = "super::bills::Column::Id", to = "super::bills::Column::Id"
)] )]
Bills1, Bills1,
#[sea_orm( #[sea_orm(
belongs_to = "super::users::Entity", belongs_to = "super::users::Entity",
from = "Column::UserIdd", from = "Column::UserIdd",
to = "super::users::Column::Id", to = "super::users::Column::Id"
)] )]
Users2, Users2,
#[sea_orm( #[sea_orm(
belongs_to = "super::users::Entity", belongs_to = "super::users::Entity",
from = "Column::UserId", from = "Column::UserId",
to = "super::users::Column::Id", to = "super::users::Column::Id"
)] )]
Users1, Users1,
} }

View File

@ -5,16 +5,12 @@ use sea_orm::entity::prelude::*;
pub struct Model { pub struct Model {
#[sea_orm(primary_key)] #[sea_orm(primary_key)]
pub id: i32, pub id: i32,
pub self_id: Option<i32> , pub self_id: Option<i32>,
} }
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation { pub enum Relation {
#[sea_orm( #[sea_orm(belongs_to = "Entity", from = "Column::SelfId", to = "Column::Id")]
belongs_to = "Entity",
from = "Column::SelfId",
to = "Column::Id",
)]
SelfRef, SelfRef,
} }

View File

@ -5,23 +5,15 @@ use sea_orm::entity::prelude::*;
pub struct Model { pub struct Model {
#[sea_orm(primary_key)] #[sea_orm(primary_key)]
pub id: i32, pub id: i32,
pub self_id: Option<i32> , pub self_id: Option<i32>,
pub self_idd: Option<i32> , pub self_idd: Option<i32>,
} }
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation { pub enum Relation {
#[sea_orm( #[sea_orm(belongs_to = "Entity", from = "Column::SelfId", to = "Column::Id")]
belongs_to = "Entity",
from = "Column::SelfId",
to = "Column::Id",
)]
SelfRef2, SelfRef2,
#[sea_orm( #[sea_orm(belongs_to = "Entity", from = "Column::SelfIdd", to = "Column::Id")]
belongs_to = "Entity",
from = "Column::SelfIdd",
to = "Column::Id",
)]
SelfRef1, SelfRef1,
} }

View File

@ -113,6 +113,7 @@ pub async fn insert_active_enum(db: &DatabaseConnection) -> Result<(), DbErr> {
// Equivalent to the above. // Equivalent to the above.
let select_with_tea_in = let select_with_tea_in =
Entity::find().filter(Column::Tea.is_in([Tea::EverydayTea, Tea::BreakfastTea])); Entity::find().filter(Column::Tea.is_in([Tea::EverydayTea, Tea::BreakfastTea]));
#[cfg(feature = "sqlx-postgres")]
assert_eq!( assert_eq!(
select_with_tea_in select_with_tea_in
.build(sea_orm::DatabaseBackend::Postgres) .build(sea_orm::DatabaseBackend::Postgres)
@ -145,6 +146,7 @@ pub async fn insert_active_enum(db: &DatabaseConnection) -> Result<(), DbErr> {
let select_with_tea_not_in = Entity::find() let select_with_tea_not_in = Entity::find()
.filter(Column::Tea.is_not_null()) .filter(Column::Tea.is_not_null())
.filter(Column::Tea.is_not_in([Tea::BreakfastTea])); .filter(Column::Tea.is_not_in([Tea::BreakfastTea]));
#[cfg(feature = "sqlx-postgres")]
assert_eq!( assert_eq!(
select_with_tea_not_in select_with_tea_not_in
.build(sea_orm::DatabaseBackend::Postgres) .build(sea_orm::DatabaseBackend::Postgres)