Lightweight 0.20260921.0
Loading...
Searching...
No Matches
Lightweight::SqlCreateTableQueryBuilder Class Referencefinal

Query builder for building CREATE TABLE queries. More...

#include <Migrate.hpp>

Public Member Functions

 SqlCreateTableQueryBuilder (SqlCreateTablePlan &plan)
 Constructs a CREATE TABLE query builder.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & Column (SqlColumnDeclaration column)
 Adds a new column to the table.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & Column (std::string columnName, SqlColumnTypeDefinition columnType)
 Creates a new nullable column.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & RequiredColumn (std::string columnName, SqlColumnTypeDefinition columnType)
 Creates a new column that is non-nullable.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & Timestamps ()
 Adds the created_at and updated_at columns to the table.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & PrimaryKey (std::string columnName, SqlColumnTypeDefinition columnType)
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & PrimaryKeyWithAutoIncrement (std::string columnName, SqlColumnTypeDefinition columnType=SqlColumnTypeDefinitions::Bigint {})
 Creates a new primary key column with auto-increment.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & ForeignKey (std::string columnName, SqlColumnTypeDefinition columnType, SqlForeignKeyReferenceDefinition foreignKey)
 Creates a new nullable foreign key column.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & RequiredForeignKey (std::string columnName, SqlColumnTypeDefinition columnType, SqlForeignKeyReferenceDefinition foreignKey)
 Creates a new non-nullable foreign key column.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & ForeignKey (std::vector< std::string > columns, std::string referencedTableName, std::vector< std::string > referencedColumns)
 Adds a composite foreign key constraint.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & Unique ()
 Enables the UNIQUE constraint on the last declared column.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & Index ()
 Enables the INDEX constraint on the last declared column.
 
LIGHTWEIGHT_API SqlCreateTableQueryBuilder & UniqueIndex ()
 Enables the UNIQUE and INDEX constraint on the last declared column and makes it an index.
 

Detailed Description

Query builder for building CREATE TABLE queries.

See also
SqlQueryBuilder

Definition at line 29 of file Migrate.hpp.

Constructor & Destructor Documentation

◆ SqlCreateTableQueryBuilder()

Lightweight::SqlCreateTableQueryBuilder::SqlCreateTableQueryBuilder ( SqlCreateTablePlan &  plan)
inlineexplicit

Constructs a CREATE TABLE query builder.

Definition at line 33 of file Migrate.hpp.

Member Function Documentation

◆ PrimaryKey()

LIGHTWEIGHT_API SqlCreateTableQueryBuilder & Lightweight::SqlCreateTableQueryBuilder::PrimaryKey ( std::string  columnName,
SqlColumnTypeDefinition  columnType 
)

Creates a new primary key column. Primary keys are always required, unique, have an index, and are non-nullable.


The documentation for this class was generated from the following file: