Structure
SQLAlterTable
An expression representing an
ALTER TABLE query. Used to modify the structure of existing tables.struct SQLAlterTable
Overview
This expression is partially dialect-aware and will respect specific settings under SQLAlterTableSyntax. However, it does not handle the caae where a dialect has no table alteration support at all (such as SQLite).
ALTER TABLE "name"
RENAME TO "new_name"
ALTER TABLE "new_name"
ADD "column1" BLOB NOT NULL,
DROP "column2",
ALTER "column3" SET DATA TYPE TEXT
See SQLAlterTableBuilder.
Warning
There are numerous table alteration operations possible in various dialects which are not supported by this expression.
Topics
Initializers
init(name: any SQLExpression)Create a table alteration query for a given table, with no operations specified to start with.
Instance Properties
var addColumns: [any SQLExpression]A list of zero or more new column definitions (add column operation).var addTableConstraints: [any SQLExpression]A list of zero or more new table constraints (add table constraint operation).var dropColumns: [any SQLExpression]A list of zero or more columns to remove (drop column operation).var dropTableConstraints: [any SQLExpression]A list of zero or more table constraint names to remove (drop table constraint operation).var modifyColumns: [any SQLExpression]A list of zero or more column alteration specifications (modify column operation).var name: any SQLExpressionThe name of the table to alter.var renameTo: (any SQLExpression)?If notnil, a new name for the table (rename table operation).
Instance Methods
func serialize(to: inout SQLSerializer)Invoked when a request is made to serialize the expression to raw SQL.
Relationships
Conforms To
SQLExpressionSwift.SendableSwift.SendableMetatype
See Also
Query Expressions
struct SQLAlterEnumAn expression representing anALTER TYPEquery. Used to add new cases to enumeration types.struct SQLCreateEnumAn expression representing aCREATE TYPEquery. Used to create enumeration types.struct SQLCreateIndexAn expression representing aCREATE INDEXquery. Used to add indexes over columns to an existing table.struct SQLCreateTableAn expression representing aCREATE TABLEquery. Used to create new tables.struct SQLCreateTriggerAn expression representing aCREATE TRIGGERquery. Used to create new triggers for actions on a table.struct SQLDeleteAn expression representing aCREATE TRIGGERquery. Used to remove rows from a table.struct SQLDropEnumAn expression representing aDROP TYPEquery. Used to delete enumeration types.struct SQLDropIndexAn expression representing aDROP INDEXquery. Used to delete indexes from tables.struct SQLDropTableAn expression representing aDROP TABLEquery. Used to delete entire tables.struct SQLDropTriggerAn expression representing aDROP TRIGGERquery. Used to delete triggers.struct SQLInsertAn expression representing anINSERTquery. Used to add new rows to a table.struct SQLSelectAn expression representing aSELECTquery. Used to retrieve rows and expression results from a database.struct SQLUnionAn expression representing two or moreSELECTqueries joined byUNIONclauses. Used to merge the results of multiple queries into a single result set.struct SQLUpdateAn expression representing anUPDATEquery. Used to modify existing rows in a single table.