sea_query/foreign_key/mod.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
//! Foreign key definition & alternations statements.
//!
//! # Usage
//!
//! - Table Foreign Key Create, see [`ForeignKeyCreateStatement`]
//! - Table Foreign Key Drop, see [`ForeignKeyDropStatement`]
mod common;
mod create;
mod drop;
pub use common::*;
pub use create::*;
pub use drop::*;
/// Shorthand for constructing any foreign key statement
#[derive(Debug, Clone)]
pub struct ForeignKey;
/// All available types of foreign key statement
#[derive(Debug, Clone)]
pub enum ForeignKeyStatement {
Create(ForeignKeyCreateStatement),
Drop(ForeignKeyDropStatement),
}
impl ForeignKey {
/// Construct foreign key [`ForeignKeyCreateStatement`]
pub fn create() -> ForeignKeyCreateStatement {
ForeignKeyCreateStatement::new()
}
/// Construct foreign key [`ForeignKeyDropStatement`]
pub fn drop() -> ForeignKeyDropStatement {
ForeignKeyDropStatement::new()
}
}