use std::fmt::Display;
#[derive(Clone, Debug, PartialEq)]
pub enum ColumnConstraint {
NonNullable,
Unique,
PrimaryKey,
Indexed,
AutoIncrement,
Invisible,
OnUpdateCurrentTimestamp,
Check(&'static str),
Generated(GeneratedColumn),
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum GeneratedColumn {
Virtual(&'static str),
Stored(&'static str),
}
impl Display for GeneratedColumn {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
GeneratedColumn::Virtual(s) => write!(f, "VIRTUAL {}", s),
GeneratedColumn::Stored(s) => write!(f, "STORED {}", s),
}
}
}