DB enhances sql.DB by providing a set of DB-agnostic query building methods. DB allows easier query building and population of data into Go variables.

Hierarchy

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

  • Close closes the database, releasing any open resources. It is rare to Close a DB, as the DB handle is meant to be long-lived and shared between many goroutines.

    Returns void

  • 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

  • DriverName returns the name of the DB driver.

    Returns string

  • 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

    • QuoteColumnName quotes the given column name appropriately. If the table name contains table name prefix, it will be handled accordingly. This method will do nothing if the column name is already quoted or if it contains parenthesis.

      Parameters

      • s: 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

    • QuoteTableName quotes the given table name appropriately. If the table name contains DB schema prefix, it will be handled accordingly. This method will do nothing if the table name is already quoted or if it contains parenthesis.

      Parameters

      • s: 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

    • Transactional starts a transaction and executes the given function. If the function returns an error, the transaction will be rolled back. Otherwise, the transaction will be committed.

      Parameters

      • f: ((_arg0) => void)
          • (_arg0): void
          • Parameters

            Returns void

      Returns void

    • TransactionalContext starts a transaction and executes the given function with the given context and transaction options. If the function returns an error, the transaction will be rolled back. Otherwise, the transaction will be committed.

      Parameters

      Returns void

    • 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

    Properties

    execLogFunc: ExecLogFunc

    ExecLogFunc is called each time when a SQL statement is executed.

    fieldMapper: FieldMapFunc

    FieldMapper maps struct fields to DB columns. Defaults to DefaultFieldMapFunc.

    logFunc: LogFunc

    LogFunc logs the SQL statements being executed. Defaults to nil, meaning no logging.

    perfFunc: PerfFunc

    PerfFunc logs the SQL execution time. Defaults to nil, meaning no performance profiling. Deprecated: Please use QueryLogFunc and ExecLogFunc instead.

    queryLogFunc: QueryLogFunc

    QueryLogFunc is called each time when performing a SQL query that returns data.

    tableMapper: TableMapFunc

    TableMapper maps structs to table names. Defaults to GetTableName.

    Generated using TypeDoc