pub struct Column {
pub table: Cow<'static, str>,
pub name: Cow<'static, str>,
pub sql_type: Cow<'static, str>,
pub not_null: bool,
pub autoincrement: Option<bool>,
pub primary_key: Option<bool>,
pub unique: Option<bool>,
pub default: Option<Cow<'static, str>>,
pub generated: Option<Generated>,
pub collate: Option<Cow<'static, str>>,
pub ordinal_position: Option<i32>,
}Expand description
Runtime column entity for serde serialization.
Fields§
§table: Cow<'static, str>Parent table name
name: Cow<'static, str>Column name
sql_type: Cow<'static, str>SQL type (e.g., “INTEGER”, “TEXT”, “REAL”, “BLOB”)
not_null: boolIs this column NOT NULL?
autoincrement: Option<bool>Is this column AUTOINCREMENT?
primary_key: Option<bool>Is this column a PRIMARY KEY?
unique: Option<bool>Is this column UNIQUE?
default: Option<Cow<'static, str>>Default value as string
generated: Option<Generated>Generated column configuration
collate: Option<Cow<'static, str>>Collation sequence (BINARY, NOCASE, RTRIM, or custom). None means
the default BINARY collation and no COLLATE clause is emitted.
ordinal_position: Option<i32>Ordinal position within the table (cid, 0-based).
This is primarily populated by introspection and used for stable codegen ordering.
Implementations§
Source§impl Column
impl Column
Sourcepub fn new(
table: impl Into<Cow<'static, str>>,
name: impl Into<Cow<'static, str>>,
sql_type: impl Into<Cow<'static, str>>,
) -> Self
pub fn new( table: impl Into<Cow<'static, str>>, name: impl Into<Cow<'static, str>>, sql_type: impl Into<Cow<'static, str>>, ) -> Self
Create a new column (runtime)
Sourcepub const fn autoincrement(self) -> Self
pub const fn autoincrement(self) -> Self
Set AUTOINCREMENT
Sourcepub fn default_value(self, value: impl Into<Cow<'static, str>>) -> Self
pub fn default_value(self, value: impl Into<Cow<'static, str>>) -> Self
Set default value
Sourcepub const fn is_primary_key(&self) -> bool
pub const fn is_primary_key(&self) -> bool
Check if this is a primary key column
Sourcepub const fn is_autoincrement(&self) -> bool
pub const fn is_autoincrement(&self) -> bool
Check if this is an autoincrement column
Source§impl Column
impl Column
Sourcepub fn to_column_sql(&self, inline_pk: bool, inline_unique: bool) -> String
pub fn to_column_sql(&self, inline_pk: bool, inline_unique: bool) -> String
Generate the column definition SQL (without leading/trailing punctuation)
Sourcepub fn add_column_sql(&self) -> String
pub fn add_column_sql(&self) -> String
Generate ADD COLUMN SQL
Sourcepub fn drop_column_sql(&self) -> String
pub fn drop_column_sql(&self) -> String
Generate DROP COLUMN SQL