All pages
Powered by GitBook
1 of 1

Overview

QB ships with a schema builder to help you build your database objects. This provides a few benefits:

  • The syntax is expressive and fluent, making it easy to understand what is being executed

  • The syntax is database-agnostic. Specific quirks are isolated in a Grammar file, making it easy to migrate between engines.

You start with a SchemaBuilder object. The SchemaBuilder takes the same Grammar that a QueryBuilder takes. It can additionally take a struct of default query options forwarded on to queryExecute.

Note: the SchemaBuilder is a transient, and a new one should be created for each operation.

The SchemaBuilder has four main methods to start your database object creation:

Create a new table in the database.

Example:

SchemaBuilder

SQL (MySQL)

Alter an existing table in the database.

Example:

SchemaBuilder

SQL (MySQL)

Drop a table from the database.

Example:

SchemaBuilder

SQL (MySQL)

Additionally, there are a few utility methods defined on SchemaBuilder as well:

rename

Rename a table from an old name to a new name

Example:

SchemaBuilder

SQL (MySQL)

hasTable

Check if a table exists in the database.

Example:

SchemaBuilder

SQL (MySQL)

hasColumn

Check if a column exists in a table in the database.

Example:

SchemaBuilder

SQL (MySQL)