MigrationDialect

Trait MigrationDialect 

Source
pub trait MigrationDialect {
Show 21 methods // Required methods fn name(&self) -> &'static str; fn rename_table(&self, op: &RenameTableOp) -> String; fn alter_column(&self, op: &AlterColumnOp) -> String; fn rename_column(&self, op: &RenameColumnOp) -> String; fn drop_index(&self, op: &DropIndexOp) -> String; fn drop_foreign_key(&self, op: &DropForeignKeyOp) -> String; fn map_data_type(&self, dt: &DataType) -> String; fn autoincrement_keyword(&self) -> String; // Provided methods fn generate_sql(&self, operation: &Operation) -> String { ... } fn create_table(&self, op: &CreateTableOp) -> String { ... } fn drop_table(&self, op: &DropTableOp) -> String { ... } fn add_column(&self, op: &AddColumnOp) -> String { ... } fn drop_column(&self, op: &DropColumnOp) -> String { ... } fn create_index(&self, op: &CreateIndexOp) -> String { ... } fn add_foreign_key(&self, op: &AddForeignKeyOp) -> String { ... } fn column_definition(&self, col: &ColumnDefinition) -> String { ... } fn table_constraint(&self, constraint: &TableConstraint) -> String { ... } fn render_default(&self, default: &DefaultValue) -> String { ... } fn quote_char(&self) -> char { ... } fn quote_identifier(&self, name: &str) -> String { ... } fn index_type_sql(&self, index_type: &IndexType) -> &'static str { ... }
}
Expand description

Trait for dialect-specific SQL generation for migrations.

Required Methods§

Source

fn name(&self) -> &'static str

Returns the dialect name.

Source

fn rename_table(&self, op: &RenameTableOp) -> String

Generates SQL for RENAME TABLE.

Source

fn alter_column(&self, op: &AlterColumnOp) -> String

Generates SQL for ALTER COLUMN.

Source

fn rename_column(&self, op: &RenameColumnOp) -> String

Generates SQL for RENAME COLUMN.

Source

fn drop_index(&self, op: &DropIndexOp) -> String

Generates SQL for DROP INDEX.

Source

fn drop_foreign_key(&self, op: &DropForeignKeyOp) -> String

Generates SQL for DROP FOREIGN KEY.

Source

fn map_data_type(&self, dt: &DataType) -> String

Maps a DataType to the dialect-specific SQL type.

Source

fn autoincrement_keyword(&self) -> String

Returns the AUTOINCREMENT keyword for this dialect.

Provided Methods§

Source

fn generate_sql(&self, operation: &Operation) -> String

Generates SQL for an operation.

Source

fn create_table(&self, op: &CreateTableOp) -> String

Generates SQL for CREATE TABLE.

Source

fn drop_table(&self, op: &DropTableOp) -> String

Generates SQL for DROP TABLE.

Source

fn add_column(&self, op: &AddColumnOp) -> String

Generates SQL for ADD COLUMN.

Source

fn drop_column(&self, op: &DropColumnOp) -> String

Generates SQL for DROP COLUMN.

Source

fn create_index(&self, op: &CreateIndexOp) -> String

Generates SQL for CREATE INDEX.

Source

fn add_foreign_key(&self, op: &AddForeignKeyOp) -> String

Generates SQL for ADD FOREIGN KEY.

Source

fn column_definition(&self, col: &ColumnDefinition) -> String

Generates SQL for a column definition.

Source

fn table_constraint(&self, constraint: &TableConstraint) -> String

Generates SQL for a table constraint.

Source

fn render_default(&self, default: &DefaultValue) -> String

Renders a default value.

Source

fn quote_char(&self) -> char

Returns the identifier quote character.

Source

fn quote_identifier(&self, name: &str) -> String

Quotes an identifier.

Source

fn index_type_sql(&self, index_type: &IndexType) -> &'static str

Maps an index type to SQL.

Implementors§