Struct sea_orm_migration::prelude::ColumnDef
[−]pub struct ColumnDef { /* private fields */ }
Expand description
Specification of a table column
Implementations
impl ColumnDef
impl ColumnDef
pub fn new_with_type<T>(name: T, types: ColumnType) -> ColumnDef where
T: 'static + Iden,
pub fn new_with_type<T>(name: T, types: ColumnType) -> ColumnDef where
T: 'static + Iden,
Construct a table column with column type
pub fn default<T>(&mut self, value: T) -> &mut ColumnDef where
T: Into<Value>,
pub fn default<T>(&mut self, value: T) -> &mut ColumnDef where
T: Into<Value>,
Set default value of a column
pub fn auto_increment(&mut self) -> &mut ColumnDef
pub fn auto_increment(&mut self) -> &mut ColumnDef
Set column auto increment
pub fn unique_key(&mut self) -> &mut ColumnDef
pub fn unique_key(&mut self) -> &mut ColumnDef
Set column unique constraint
pub fn primary_key(&mut self) -> &mut ColumnDef
pub fn primary_key(&mut self) -> &mut ColumnDef
Set column as primary key
pub fn string_len(&mut self, length: u32) -> &mut ColumnDef
pub fn string_len(&mut self, length: u32) -> &mut ColumnDef
Set column type as string with custom length
pub fn tiny_integer_len(&mut self, length: u32) -> &mut ColumnDef
pub fn tiny_integer_len(&mut self, length: u32) -> &mut ColumnDef
Set column type as tiny_integer with custom length
pub fn tiny_integer(&mut self) -> &mut ColumnDef
pub fn tiny_integer(&mut self) -> &mut ColumnDef
Set column type as tiny_integer
pub fn small_integer_len(&mut self, length: u32) -> &mut ColumnDef
pub fn small_integer_len(&mut self, length: u32) -> &mut ColumnDef
Set column type as small_integer with custom length
pub fn small_integer(&mut self) -> &mut ColumnDef
pub fn small_integer(&mut self) -> &mut ColumnDef
Set column type as small_integer
pub fn integer_len(&mut self, length: u32) -> &mut ColumnDef
pub fn integer_len(&mut self, length: u32) -> &mut ColumnDef
Set column type as integer with custom length
pub fn big_integer_len(&mut self, length: u32) -> &mut ColumnDef
pub fn big_integer_len(&mut self, length: u32) -> &mut ColumnDef
Set column type as big_integer with custom length
pub fn big_integer(&mut self) -> &mut ColumnDef
pub fn big_integer(&mut self) -> &mut ColumnDef
Set column type as big_integer
pub fn tiny_unsigned_len(&mut self, length: u32) -> &mut ColumnDef
pub fn tiny_unsigned_len(&mut self, length: u32) -> &mut ColumnDef
Set column type as tiny_unsigned with custom length
pub fn tiny_unsigned(&mut self) -> &mut ColumnDef
pub fn tiny_unsigned(&mut self) -> &mut ColumnDef
Set column type as tiny_unsigned
pub fn small_unsigned_len(&mut self, length: u32) -> &mut ColumnDef
pub fn small_unsigned_len(&mut self, length: u32) -> &mut ColumnDef
Set column type as small_unsigned with custom length
pub fn small_unsigned(&mut self) -> &mut ColumnDef
pub fn small_unsigned(&mut self) -> &mut ColumnDef
Set column type as small_unsigned
pub fn unsigned_len(&mut self, length: u32) -> &mut ColumnDef
pub fn unsigned_len(&mut self, length: u32) -> &mut ColumnDef
Set column type as unsigned with custom length
pub fn big_unsigned_len(&mut self, length: u32) -> &mut ColumnDef
pub fn big_unsigned_len(&mut self, length: u32) -> &mut ColumnDef
Set column type as big_unsigned with custom length
pub fn big_unsigned(&mut self) -> &mut ColumnDef
pub fn big_unsigned(&mut self) -> &mut ColumnDef
Set column type as big_unsigned
pub fn float_len(&mut self, precision: u32) -> &mut ColumnDef
pub fn float_len(&mut self, precision: u32) -> &mut ColumnDef
Set column type as float with custom precision
pub fn double_len(&mut self, precision: u32) -> &mut ColumnDef
pub fn double_len(&mut self, precision: u32) -> &mut ColumnDef
Set column type as double with custom precision
pub fn decimal_len(&mut self, precision: u32, scale: u32) -> &mut ColumnDef
pub fn decimal_len(&mut self, precision: u32, scale: u32) -> &mut ColumnDef
Set column type as decimal with custom precision and scale
pub fn date_time_len(&mut self, precision: u32) -> &mut ColumnDef
pub fn date_time_len(&mut self, precision: u32) -> &mut ColumnDef
Set column type as date_time with custom precision
pub fn interval(
&mut self,
fields: Option<PgInterval>,
precision: Option<u32>
) -> &mut ColumnDef
pub fn interval(
&mut self,
fields: Option<PgInterval>,
precision: Option<u32>
) -> &mut ColumnDef
Set column type as interval type with optional fields and precision. Postgres only
use sea_query::{tests_cfg::*, *};
assert_eq!(
Table::create()
.table(Glyph::Table)
.col(
ColumnDef::new(Alias::new("I1"))
.interval(None, None)
.not_null()
)
.col(
ColumnDef::new(Alias::new("I2"))
.interval(Some(PgInterval::YearToMonth), None)
.not_null()
)
.col(
ColumnDef::new(Alias::new("I3"))
.interval(None, Some(42))
.not_null()
)
.col(
ColumnDef::new(Alias::new("I4"))
.interval(Some(PgInterval::Hour), Some(43))
.not_null()
)
.to_string(PostgresQueryBuilder),
vec![
r#"CREATE TABLE "glyph" ("#,
r#""I1" interval NOT NULL,"#,
r#""I2" interval YEAR TO MONTH NOT NULL,"#,
r#""I3" interval(42) NOT NULL,"#,
r#""I4" interval HOUR(43) NOT NULL"#,
r#")"#,
]
.join(" ")
);
pub fn timestamp_len(&mut self, precision: u32) -> &mut ColumnDef
pub fn timestamp_len(&mut self, precision: u32) -> &mut ColumnDef
Set column type as timestamp with custom precision
pub fn timestamp_with_time_zone(&mut self) -> &mut ColumnDef
pub fn timestamp_with_time_zone(&mut self) -> &mut ColumnDef
Set column type as timestamp with time zone. Postgres only
pub fn timestamp_with_time_zone_len(&mut self, precision: u32) -> &mut ColumnDef
pub fn timestamp_with_time_zone_len(&mut self, precision: u32) -> &mut ColumnDef
Set column type as timestamp with time zone plus custom precision
pub fn time_len(&mut self, precision: u32) -> &mut ColumnDef
pub fn time_len(&mut self, precision: u32) -> &mut ColumnDef
Set column type as time with custom precision
pub fn binary_len(&mut self, length: u32) -> &mut ColumnDef
pub fn binary_len(&mut self, length: u32) -> &mut ColumnDef
Set column type as binary with custom length
pub fn money_len(&mut self, precision: u32, scale: u32) -> &mut ColumnDef
pub fn money_len(&mut self, precision: u32, scale: u32) -> &mut ColumnDef
Set column type as money with custom precision and scale
pub fn json(&mut self) -> &mut ColumnDef
pub fn json(&mut self) -> &mut ColumnDef
Set column type as json.
On MySQL, this is equivalent to json_binary
. On MariaDB, this is equivalent to text
.
On PgSQL, this is equivalent to json
.
pub fn json_binary(&mut self) -> &mut ColumnDef
pub fn json_binary(&mut self) -> &mut ColumnDef
Set column type as json binary.
On MySQL, this is equivalent to json
. On MariaDB, this is equivalent to text
.
On PgSQL, this is equivalent to jsonb
.
pub fn custom<T>(&mut self, n: T) -> &mut ColumnDef where
T: 'static + Iden,
pub fn custom<T>(&mut self, n: T) -> &mut ColumnDef where
T: 'static + Iden,
Use a custom type on this column.
pub fn enumeration<N, S, V>(&mut self, name: N, variants: V) -> &mut ColumnDef where
N: ToString,
S: ToString,
V: IntoIterator<Item = S>,
pub fn enumeration<N, S, V>(&mut self, name: N, variants: V) -> &mut ColumnDef where
N: ToString,
S: ToString,
V: IntoIterator<Item = S>,
Set column type as enum.
pub fn array(&mut self, elem_type: String) -> &mut ColumnDef
pub fn array(&mut self, elem_type: String) -> &mut ColumnDef
Set column type as an array with a specified element type. This is only supported on Postgres.
pub fn get_column_name(&self) -> String
pub fn get_column_type(&self) -> Option<&ColumnType>
pub fn get_column_spec(&self) -> &Vec<ColumnSpec, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
pub fn take(&mut self) -> ColumnDef
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for ColumnDef
impl Send for ColumnDef
impl Sync for ColumnDef
impl Unpin for ColumnDef
impl !UnwindSafe for ColumnDef
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more