Builder supports building SQL statements in a DB-agnostic way. Builder mainly provides two sets of query building methods: those building SELECT statements and those manipulating DB data or schema (e.g. INSERT statements, CREATE TABLE statements).

Hierarchy

  • Builder

Indexable

[key: string]: any

Methods

  • AddColumn creates a Query that can be used to add a column to a table.

    Parameters

    • table: string
    • col: string
    • typ: string

    Returns Query

  • AddForeignKey creates a Query that can be used to add a foreign key constraint to a table. The length of cols and refCols must be the same as they refer to the primary and referential columns. The optional "options" parameters will be appended to the SQL statement. They can be used to specify options such as "ON DELETE CASCADE".

    Parameters

    • table: string
    • name: string
    • cols: string[]
    • refCols: string[]
    • refTable: string
    • Rest ...options: string[]

    Returns Query

  • AddPrimaryKey creates a Query that can be used to specify primary key(s) for a table. The "name" parameter specifies the name of the primary key constraint.

    Parameters

    • table: string
    • name: string
    • Rest ...cols: string[]

    Returns Query

  • AlterColumn creates a Query that can be used to change the definition of a table column.

    Parameters

    • table: string
    • col: string
    • typ: string

    Returns Query

  • CreateIndex creates a Query that can be used to create an index for a table.

    Parameters

    • table: string
    • name: string
    • Rest ...cols: string[]

    Returns Query

  • CreateTable creates a Query that represents a CREATE TABLE SQL statement. The keys of cols are the column names, while the values of cols are the corresponding column types. The optional "options" parameters will be appended to the generated SQL statement.

    Parameters

    • table: string
    • cols: _TygojaDict
    • Rest ...options: string[]

    Returns Query

  • CreateUniqueIndex creates a Query that can be used to create a unique index for a table.

    Parameters

    • table: string
    • name: string
    • Rest ...cols: string[]

    Returns Query

  • Delete creates a Query that represents a DELETE SQL statement. If the "where" expression is nil, the DELETE SQL statement will have no WHERE clause (be careful in this case as the SQL statement will delete ALL rows in the table).

    Parameters

    Returns Query

  • DropColumn creates a Query that can be used to drop a column from a table.

    Parameters

    • table: string
    • col: string

    Returns Query

  • DropForeignKey creates a Query that can be used to remove the named foreign key constraint from a table.

    Parameters

    • table: string
    • name: string

    Returns Query

  • DropIndex creates a Query that can be used to remove the named index from a table.

    Parameters

    • table: string
    • name: string

    Returns Query

  • DropPrimaryKey creates a Query that can be used to remove the named primary key constraint from a table.

    Parameters

    • table: string
    • name: string

    Returns Query

  • DropTable creates a Query that can be used to drop a table.

    Parameters

    • table: string

    Returns Query

  • GeneratePlaceholder generates an anonymous parameter placeholder with the given parameter ID.

    Parameters

    • _arg0: number

    Returns string

  • Insert creates a Query that represents an INSERT SQL statement. The keys of cols are the column names, while the values of cols are the corresponding column values to be inserted.

    Parameters

    Returns Query

  • ModelQuery returns a new ModelQuery object that can be used to perform model insertion, update, and deletion. The parameter to this method should be a pointer to the model struct that needs to be inserted, updated, or deleted.

    Parameters

    • _arg0: {}

      Returns ModelQuery

    • NewQuery creates a new Query object with the given SQL statement. The SQL statement may contain parameter placeholders which can be bound with actual parameter values before the statement is executed.

      Parameters

      • _arg0: string

      Returns Query

    • Quote quotes a string so that it can be embedded in a SQL statement as a string value.

      Parameters

      • _arg0: string

      Returns string

    • QuoteSimpleColumnName quotes a simple column name. A simple column name does not contain any table prefix.

      Parameters

      • _arg0: string

      Returns string

    • QuoteSimpleTableName quotes a simple table name. A simple table name does not contain any schema prefix.

      Parameters

      • _arg0: string

      Returns string

    • RenameColumn creates a Query that can be used to rename a column in a table.

      Parameters

      • table: string
      • oldName: string
      • newName: string

      Returns Query

    • RenameTable creates a Query that can be used to rename a table.

      Parameters

      • oldName: string
      • newName: string

      Returns Query

    • Select returns a new SelectQuery object that can be used to build a SELECT statement. The parameters to this method should be the list column names to be selected. A column name may have an optional alias name. For example, Select("id", "my_name AS name").

      Parameters

      • Rest ..._arg0: string[]

      Returns SelectQuery

    • TruncateTable creates a Query that can be used to truncate a table.

      Parameters

      • table: string

      Returns Query

    • Update creates a Query that represents an UPDATE SQL statement. The keys of cols are the column names, while the values of cols are the corresponding new column values. If the "where" expression is nil, the UPDATE SQL statement will have no WHERE clause (be careful in this case as the SQL statement will update ALL rows in the table).

      Parameters

      Returns Query

    • Upsert creates a Query that represents an UPSERT SQL statement. Upsert inserts a row into the table if the primary key or unique index is not found. Otherwise it will update the row with the new values. The keys of cols are the column names, while the values of cols are the corresponding column values to be inserted.

      Parameters

      • table: string
      • cols: Params
      • Rest ...constraints: string[]

      Returns Query

    Generated using TypeDoc