pub struct DuckDbDialect;Expand description
DuckDB dialect for migration SQL generation.
DuckDB does not support AUTOINCREMENT or SERIAL/BIGSERIAL.
Instead, auto-increment is implemented via CREATE SEQUENCE +
DEFAULT nextval('seq_<table>_<column>'). The [create_table]
override emits the sequence DDL automatically for every column
marked with autoincrement.
Implementations§
Source§impl DuckDbDialect
impl DuckDbDialect
Trait Implementations§
Source§impl Clone for DuckDbDialect
impl Clone for DuckDbDialect
Source§fn clone(&self) -> DuckDbDialect
fn clone(&self) -> DuckDbDialect
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DuckDbDialect
impl Debug for DuckDbDialect
Source§impl Default for DuckDbDialect
impl Default for DuckDbDialect
Source§fn default() -> DuckDbDialect
fn default() -> DuckDbDialect
Returns the “default value” for a type. Read more
Source§impl MigrationDialect for DuckDbDialect
impl MigrationDialect for DuckDbDialect
Source§fn map_data_type(&self, dt: &DataType) -> String
fn map_data_type(&self, dt: &DataType) -> String
Maps a
DataType to the dialect-specific SQL type.Source§fn autoincrement_keyword(&self) -> String
fn autoincrement_keyword(&self) -> String
Returns the AUTOINCREMENT keyword for this dialect.
Source§fn create_table(&self, op: &CreateTableOp) -> String
fn create_table(&self, op: &CreateTableOp) -> String
Generates SQL for CREATE TABLE.
Source§fn render_default(&self, default: &DefaultValue) -> String
fn render_default(&self, default: &DefaultValue) -> String
Renders a default value.
Source§fn rename_table(&self, op: &RenameTableOp) -> String
fn rename_table(&self, op: &RenameTableOp) -> String
Generates SQL for RENAME TABLE.
Source§fn rename_column(&self, op: &RenameColumnOp) -> String
fn rename_column(&self, op: &RenameColumnOp) -> String
Generates SQL for RENAME COLUMN.
Source§fn alter_column(&self, op: &AlterColumnOp) -> String
fn alter_column(&self, op: &AlterColumnOp) -> String
Generates SQL for ALTER COLUMN.
Source§fn drop_index(&self, op: &DropIndexOp) -> String
fn drop_index(&self, op: &DropIndexOp) -> String
Generates SQL for DROP INDEX.
Source§fn drop_foreign_key(&self, op: &DropForeignKeyOp) -> String
fn drop_foreign_key(&self, op: &DropForeignKeyOp) -> String
Generates SQL for DROP FOREIGN KEY.
Source§fn generate_sql(&self, operation: &Operation) -> String
fn generate_sql(&self, operation: &Operation) -> String
Generates SQL for an operation.
Source§fn drop_table(&self, op: &DropTableOp) -> String
fn drop_table(&self, op: &DropTableOp) -> String
Generates SQL for DROP TABLE.
Source§fn add_column(&self, op: &AddColumnOp) -> String
fn add_column(&self, op: &AddColumnOp) -> String
Generates SQL for ADD COLUMN.
Source§fn drop_column(&self, op: &DropColumnOp) -> String
fn drop_column(&self, op: &DropColumnOp) -> String
Generates SQL for DROP COLUMN.
Source§fn create_index(&self, op: &CreateIndexOp) -> String
fn create_index(&self, op: &CreateIndexOp) -> String
Generates SQL for CREATE INDEX.
Source§fn add_foreign_key(&self, op: &AddForeignKeyOp) -> String
fn add_foreign_key(&self, op: &AddForeignKeyOp) -> String
Generates SQL for ADD FOREIGN KEY.
Source§fn column_definition(&self, col: &ColumnDefinition) -> String
fn column_definition(&self, col: &ColumnDefinition) -> String
Generates SQL for a column definition.
Source§fn table_constraint(&self, constraint: &TableConstraint) -> String
fn table_constraint(&self, constraint: &TableConstraint) -> String
Generates SQL for a table constraint.
Source§fn quote_char(&self) -> char
fn quote_char(&self) -> char
Returns the identifier quote character.
Source§fn quote_identifier(&self, name: &str) -> String
fn quote_identifier(&self, name: &str) -> String
Quotes an identifier.
Source§fn index_type_sql(&self, index_type: &IndexType) -> &'static str
fn index_type_sql(&self, index_type: &IndexType) -> &'static str
Maps an index type to SQL.
Source§impl RustTypeMapping for DuckDbDialect
impl RustTypeMapping for DuckDbDialect
impl Copy for DuckDbDialect
Auto Trait Implementations§
impl Freeze for DuckDbDialect
impl RefUnwindSafe for DuckDbDialect
impl Send for DuckDbDialect
impl Sync for DuckDbDialect
impl Unpin for DuckDbDialect
impl UnwindSafe for DuckDbDialect
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more