Grammar for the schema builder.
The possible column modifiers.
Compile the query to determine if a table exists.
Compile the query to determine if a column exists.
Compile a create table command.
SQLite forces primary keys to be added when the table is initially created so we will need to check for a primary key commands and add the columns to the table's declaration here so they can be created on the tables.
Get the foreign key syntax for a table creation statement. Once we have all the foreign key commands for the table creation statement we'll loop through each of them and add them to the create table SQL we are building, since SQLite needs foreign keys on the tables creation.
Get the primary key syntax for a table creation statement.
Ensure that autoincrement columns aren't handled here, this is handled alongside the autoincrement clause.
Compile alter table commands for adding columns
Compile a unique key command.
Compile a plain index key command.
Compile a foreign key command.
Handled on table creation...
Compile a drop column command.
Compile a drop unique key command.
Compile a rename table command.
Compile a rename column command.
Create the column definition for a integer type.
Create the column definition for a float type.
Create the column definition for a decimal type.
Create the column definition for a boolean type.
Create the column definition for a enum type.
Create the column definition for a date-time type.
Create the column definition for a timestamp type.
Get the SQL for an auto-increment column modifier.
SQLite3 SchemaGrammar