taitan_orm_trait/traits/
unique.rs

1use crate::traits::Location;
2use crate::traits::Mutation;
3use sqlx::{Database, MySql, Postgres, Sqlite};
4use std::fmt::Debug;
5
6pub trait Unique<DB: Database>: Location<DB> + Debug {
7    type Mutation: Mutation<DB>;
8}
9
10pub trait MySqlUnique: Unique<MySql> + Sync {}
11impl<T: Unique<MySql> + Sync> MySqlUnique for T {}
12
13pub trait PostgresUnique: Unique<Postgres> + Sync {}
14impl<T: Unique<Postgres> + Sync> PostgresUnique for T {}
15
16pub trait SqliteUnique: Unique<Sqlite> + Sync {}
17impl<T: Unique<Sqlite> + Sync> SqliteUnique for T {}