Struct sea_orm_migration::prelude::table::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) -> ColumnDefwhere
T: 'static + Iden,
pub fn new_with_type<T>(name: T, types: ColumnType) -> ColumnDefwhere
T: 'static + Iden,
Construct a table column with column type
pub fn default<T>(&mut self, value: T) -> &mut ColumnDefwhere
T: Into<Value>,
pub fn default<T>(&mut self, value: T) -> &mut ColumnDefwhere
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 blob(&mut self, size: BlobSize) -> &mut ColumnDef
pub fn blob(&mut self, size: BlobSize) -> &mut ColumnDef
Set column type as blob, but when given BlobSize::Blob(size) argument, this column map to binary(size) type instead.
pub fn var_binary(&mut self, length: u32) -> &mut ColumnDef
pub fn var_binary(&mut self, length: u32) -> &mut ColumnDef
Set column type as binary with variable 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 ColumnDefwhere
T: 'static + Iden,
pub fn custom<T>(&mut self, n: T) -> &mut ColumnDefwhere
T: 'static + Iden,
Use a custom type on this column.
pub fn enumeration<N, S, V>(&mut self, name: N, variants: V) -> &mut ColumnDefwhere
N: ToString,
S: ToString,
V: IntoIterator<Item = S>,
pub fn enumeration<N, S, V>(&mut self, name: N, variants: V) -> &mut ColumnDefwhere
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 cidr(&mut self) -> &mut ColumnDef
pub fn cidr(&mut self) -> &mut ColumnDef
Set columnt type as cidr. This is only supported on Postgres.
pub fn inet(&mut self) -> &mut ColumnDef
pub fn inet(&mut self) -> &mut ColumnDef
Set columnt type as inet. This is only supported on Postgres.
pub fn mac_address(&mut self) -> &mut ColumnDef
pub fn mac_address(&mut self) -> &mut ColumnDef
Set columnt type as macaddr. 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,