Enum sql_migration_sim::ast::ColumnOption
source · pub enum ColumnOption {
Null,
NotNull,
Default(Expr),
Unique {
is_primary: bool,
characteristics: Option<ConstraintCharacteristics>,
},
ForeignKey {
foreign_table: ObjectName,
referred_columns: Vec<Ident>,
on_delete: Option<ReferentialAction>,
on_update: Option<ReferentialAction>,
characteristics: Option<ConstraintCharacteristics>,
},
Check(Expr),
DialectSpecific(Vec<Token>),
CharacterSet(ObjectName),
Comment(String),
OnUpdate(Expr),
Generated {
generated_as: GeneratedAs,
sequence_options: Option<Vec<SequenceOptions>>,
generation_expr: Option<Expr>,
generation_expr_mode: Option<GeneratedExpressionMode>,
generated_keyword: bool,
},
Options(Vec<SqlOption>),
}Expand description
ColumnOptions are modifiers that follow a column definition in a CREATE TABLE statement.
Variants§
Null
NULL
NotNull
NOT NULL
Default(Expr)
DEFAULT <restricted-expr>
Unique
{ PRIMARY KEY | UNIQUE } [<constraint_characteristics>]
ForeignKey
Fields
§
foreign_table: ObjectName§
on_delete: Option<ReferentialAction>§
on_update: Option<ReferentialAction>§
characteristics: Option<ConstraintCharacteristics>A referential integrity constraint ([FOREIGN KEY REFERENCES <foreign_table> (<referred_columns>) { [ON DELETE <referential_action>] [ON UPDATE <referential_action>] | [ON UPDATE <referential_action>] [ON DELETE <referential_action>] } [<constraint_characteristics>] ).
Check(Expr)
CHECK (<expr>)
DialectSpecific(Vec<Token>)
Dialect-specific options, such as:
- MySQL’s
AUTO_INCREMENTor SQLite’sAUTOINCREMENT - …
CharacterSet(ObjectName)
Comment(String)
OnUpdate(Expr)
Generated
Fields
§
generated_as: GeneratedAs§
sequence_options: Option<Vec<SequenceOptions>>§
generation_expr_mode: Option<GeneratedExpressionMode>Generateds are modifiers that follow a column definition in a CREATE TABLE statement.
Options(Vec<SqlOption>)
Trait Implementations§
source§impl Clone for ColumnOption
impl Clone for ColumnOption
source§fn clone(&self) -> ColumnOption
fn clone(&self) -> ColumnOption
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for ColumnOption
impl Debug for ColumnOption
source§impl Display for ColumnOption
impl Display for ColumnOption
source§impl Hash for ColumnOption
impl Hash for ColumnOption
source§impl Ord for ColumnOption
impl Ord for ColumnOption
source§fn cmp(&self, other: &ColumnOption) -> Ordering
fn cmp(&self, other: &ColumnOption) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for ColumnOption
impl PartialEq for ColumnOption
source§fn eq(&self, other: &ColumnOption) -> bool
fn eq(&self, other: &ColumnOption) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl PartialOrd for ColumnOption
impl PartialOrd for ColumnOption
source§fn partial_cmp(&self, other: &ColumnOption) -> Option<Ordering>
fn partial_cmp(&self, other: &ColumnOption) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self and other) and is used by the <=
operator. Read moreimpl Eq for ColumnOption
impl StructuralPartialEq for ColumnOption
Auto Trait Implementations§
impl RefUnwindSafe for ColumnOption
impl Send for ColumnOption
impl Sync for ColumnOption
impl Unpin for ColumnOption
impl UnwindSafe for ColumnOption
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more