Struct starfish_core::migrator::prelude::sea_orm::sea_query::TableAlterStatement
source · [−]pub struct TableAlterStatement { /* private fields */ }
Expand description
Alter a table
Examples
use sea_query::{tests_cfg::*, *};
let table = Table::alter()
.table(Font::Table)
.add_column(
ColumnDef::new(Alias::new("new_col"))
.integer()
.not_null()
.default(100),
)
.to_owned();
assert_eq!(
table.to_string(MysqlQueryBuilder),
r#"ALTER TABLE `font` ADD COLUMN `new_col` int NOT NULL DEFAULT 100"#
);
assert_eq!(
table.to_string(PostgresQueryBuilder),
r#"ALTER TABLE "font" ADD COLUMN "new_col" integer NOT NULL DEFAULT 100"#
);
assert_eq!(
table.to_string(SqliteQueryBuilder),
r#"ALTER TABLE "font" ADD COLUMN "new_col" integer NOT NULL DEFAULT 100"#,
);
Implementations
sourceimpl TableAlterStatement
impl TableAlterStatement
sourcepub fn new() -> TableAlterStatement
pub fn new() -> TableAlterStatement
Construct alter table statement
sourcepub fn table<T>(&mut self, table: T) -> &mut TableAlterStatement where
T: 'static + Iden,
pub fn table<T>(&mut self, table: T) -> &mut TableAlterStatement where
T: 'static + Iden,
Set table name
sourcepub fn add_column(
&mut self,
column_def: &mut ColumnDef
) -> &mut TableAlterStatement
pub fn add_column(
&mut self,
column_def: &mut ColumnDef
) -> &mut TableAlterStatement
Add a column to an existing table
Examples
use sea_query::{tests_cfg::*, *};
let table = Table::alter()
.table(Font::Table)
.add_column(
ColumnDef::new(Alias::new("new_col"))
.integer()
.not_null()
.default(100),
)
.to_owned();
assert_eq!(
table.to_string(MysqlQueryBuilder),
r#"ALTER TABLE `font` ADD COLUMN `new_col` int NOT NULL DEFAULT 100"#
);
assert_eq!(
table.to_string(PostgresQueryBuilder),
r#"ALTER TABLE "font" ADD COLUMN "new_col" integer NOT NULL DEFAULT 100"#
);
assert_eq!(
table.to_string(SqliteQueryBuilder),
r#"ALTER TABLE "font" ADD COLUMN "new_col" integer NOT NULL DEFAULT 100"#,
);
sourcepub fn modify_column(
&mut self,
column_def: &mut ColumnDef
) -> &mut TableAlterStatement
pub fn modify_column(
&mut self,
column_def: &mut ColumnDef
) -> &mut TableAlterStatement
Modify a column in an existing table
Examples
use sea_query::{tests_cfg::*, *};
let table = Table::alter()
.table(Font::Table)
.modify_column(
ColumnDef::new(Alias::new("new_col"))
.big_integer()
.default(999),
)
.to_owned();
assert_eq!(
table.to_string(MysqlQueryBuilder),
r#"ALTER TABLE `font` MODIFY COLUMN `new_col` bigint DEFAULT 999"#
);
assert_eq!(
table.to_string(PostgresQueryBuilder),
vec![
r#"ALTER TABLE "font""#,
r#"ALTER COLUMN "new_col" TYPE bigint,"#,
r#"ALTER COLUMN "new_col" SET DEFAULT 999"#,
]
.join(" ")
);
// Sqlite not support modifying table column
sourcepub fn rename_column<T, R>(
&mut self,
from_name: T,
to_name: R
) -> &mut TableAlterStatement where
T: 'static + Iden,
R: 'static + Iden,
pub fn rename_column<T, R>(
&mut self,
from_name: T,
to_name: R
) -> &mut TableAlterStatement where
T: 'static + Iden,
R: 'static + Iden,
Rename a column in an existing table
Examples
use sea_query::{tests_cfg::*, *};
let table = Table::alter()
.table(Font::Table)
.rename_column(Alias::new("new_col"), Alias::new("new_column"))
.to_owned();
assert_eq!(
table.to_string(MysqlQueryBuilder),
r#"ALTER TABLE `font` RENAME COLUMN `new_col` TO `new_column`"#
);
assert_eq!(
table.to_string(PostgresQueryBuilder),
r#"ALTER TABLE "font" RENAME COLUMN "new_col" TO "new_column""#
);
assert_eq!(
table.to_string(SqliteQueryBuilder),
r#"ALTER TABLE "font" RENAME COLUMN "new_col" TO "new_column""#
);
sourcepub fn drop_column<T>(&mut self, col_name: T) -> &mut TableAlterStatement where
T: 'static + Iden,
pub fn drop_column<T>(&mut self, col_name: T) -> &mut TableAlterStatement where
T: 'static + Iden,
Add a column to existing table
Examples
use sea_query::{tests_cfg::*, *};
let table = Table::alter()
.table(Font::Table)
.drop_column(Alias::new("new_column"))
.to_owned();
assert_eq!(
table.to_string(MysqlQueryBuilder),
r#"ALTER TABLE `font` DROP COLUMN `new_column`"#
);
assert_eq!(
table.to_string(PostgresQueryBuilder),
r#"ALTER TABLE "font" DROP COLUMN "new_column""#
);
// Sqlite not support modifying table column
pub fn take(&mut self) -> TableAlterStatement
sourceimpl TableAlterStatement
impl TableAlterStatement
pub fn to_string<T>(&self, schema_builder: T) -> String where
T: SchemaBuilder,
pub fn build<T>(&self, schema_builder: T) -> String where
T: SchemaBuilder,
pub fn build_any(&self, schema_builder: &dyn SchemaBuilder) -> String
Trait Implementations
sourceimpl Clone for TableAlterStatement
impl Clone for TableAlterStatement
sourcefn clone(&self) -> TableAlterStatement
fn clone(&self) -> TableAlterStatement
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for TableAlterStatement
impl Debug for TableAlterStatement
sourceimpl Default for TableAlterStatement
impl Default for TableAlterStatement
sourcefn default() -> TableAlterStatement
fn default() -> TableAlterStatement
Returns the “default value” for a type. Read more
sourceimpl SchemaStatementBuilder for TableAlterStatement
impl SchemaStatementBuilder for TableAlterStatement
sourcefn build<T>(&self, schema_builder: T) -> String where
T: SchemaBuilder,
fn build<T>(&self, schema_builder: T) -> String where
T: SchemaBuilder,
Build corresponding SQL statement for certain database backend and return SQL string
sourcefn build_any(&self, schema_builder: &dyn SchemaBuilder) -> String
fn build_any(&self, schema_builder: &dyn SchemaBuilder) -> String
Build corresponding SQL statement for certain database backend and return SQL string
sourcefn to_string<T>(&self, schema_builder: T) -> String where
T: SchemaBuilder,
fn to_string<T>(&self, schema_builder: T) -> String where
T: SchemaBuilder,
Build corresponding SQL statement for certain database backend and return SQL string
sourceimpl StatementBuilder for TableAlterStatement
impl StatementBuilder for TableAlterStatement
sourcefn build(&self, db_backend: &DatabaseBackend) -> Statement
fn build(&self, db_backend: &DatabaseBackend) -> Statement
Method to call in order to build a Statement
Auto Trait Implementations
impl !RefUnwindSafe for TableAlterStatement
impl Send for TableAlterStatement
impl Sync for TableAlterStatement
impl Unpin for TableAlterStatement
impl !UnwindSafe for TableAlterStatement
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>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
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
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more