The dialect instance.
OptionalinternalQueryInterface: AbstractQueryInterfaceInternalThe internal query interface to use. Defaults to a new instance of AbstractQueryInterfaceInternal. Your dialect may replace this with a custom implementation.
Commit an already started transaction.
This is an internal method used by sequelize.transaction() use at your own risk.
Create a new savepoint.
This is an internal method used by sequelize.transaction() use at your own risk.
Rollback to a savepoint.
This is an internal method used by sequelize.transaction() use at your own risk.
Rollback (revert) a transaction that hasn't been committed.
This is an internal method used by sequelize.transaction() use at your own risk.
Set the isolation level of a transaction.
This is an internal method used by sequelize.transaction() use at your own risk.
Begin a new transaction.
This is an internal method used by sequelize.transaction() use at your own risk.
Add a constraint to a table
Available constraints:
Table name where you want to add a constraint
An object to define the constraint name, type etc
queryInterface.addConstraint('Users', {
fields: ['email'],
type: 'UNIQUE',
name: 'custom_unique_constraint_name'
});
queryInterface.addConstraint('Users', {
fields: ['roles'],
type: 'CHECK',
where: {
roles: ['user', 'admin', 'moderator', 'guest']
}
});
queryInterface.addConstraint('Users', {
fields: ['roles'],
type: 'DEFAULT',
defaultValue: 'guest'
});
queryInterface.addConstraint('Users', {
fields: ['username'],
type: 'PRIMARY KEY',
name: 'custom_primary_constraint_name'
});
queryInterface.addConstraint('Users', {
fields: ['first_name', 'last_name'],
type: 'PRIMARY KEY',
name: 'custom_primary_constraint_name'
});
queryInterface.addConstraint('Posts', {
fields: ['username'],
type: 'FOREIGN KEY',
name: 'custom_fkey_constraint_name',
references: { //Required field
table: 'target_table_name',
field: 'target_column_name'
},
onDelete: 'cascade',
onUpdate: 'cascade'
});
queryInterface.addConstraint('TableName', {
fields: ['source_column_name', 'other_source_column_name'],
type: 'FOREIGN KEY',
name: 'custom_fkey_constraint_name',
references: { //Required field
table: 'target_table_name',
fields: ['target_column_name', 'other_target_column_name']
},
onDelete: 'cascade',
onUpdate: 'cascade'
});
Deletes records from a table
Optionaloptions: QiBulkDeleteOptions<any>Create a database
Optionaloptions: CreateDatabaseOptionsCreate a new database schema.
Note: We define schemas as a namespace that can contain tables. In mysql and mariadb, this command will create what they call a database.
Name of the schema
Optionaloptions: CreateSchemaOptionsOptionaloptions: DeferConstraintsOptionsDescribe a table structure
This method returns an array of hashes containing information about all attributes in the table.
{
name: {
type: 'VARCHAR(255)', // this will be 'CHARACTER VARYING' for pg!
allowNull: true,
defaultValue: null
},
isBetaMember: {
type: 'TINYINT(1)', // this will be 'BOOLEAN' for pg!
allowNull: false,
defaultValue: false
}
}
Optionaloptions: DescribeTableOptionsQuery options
Drop a single schema
Note: We define schemas as a namespace that can contain tables. In mysql and mariadb, this command will create what they call a database.
Name of the schema
Optionaloptions: DropSchemaOptionsDrop a table from database
Table name to drop
Optionaloptions: QiDropTableOptionsQuery options
Returns the database version.
Optionaloptions: FetchDatabaseVersionOptionsQuery Options
Get foreign key references details for the table
Optional_options: QueryRawOptionsUse showConstraints instead.
Returns all foreign key constraints of requested tables
Optional_options: QueryRawOptionsUse showConstraints instead.
Lists all available databases
Optionaloptions: ListDatabasesOptionsList defined schemas
Note: this is a schema in the postgres sense of the word, not a database table. In mysql and mariadb, this will show all databases.
Optionaloptions: QiListSchemasOptionslist of schemas
Removes a column from a table
Optionaloptions: RemoveColumnOptionsRemove a constraint from a table
Table name to drop constraint from
Constraint name
Optionaloptions: RemoveConstraintOptionsQuery options
Rename a table
Optionaloptions: RenameTableOptionsShow all defined schemas
Optionaloptions: QiListSchemasOptionsUse listSchemas instead.
Show all tables
Optionaloptions: QiListTablesOptionsUse listTables instead.
Optionaloptions: ShowConstraintsOptionsReturns a promise that will resolve to true if the table or model exists in the database, false otherwise.
The name of the table or model
Optionaloptions: QueryRawOptionsQuery options
Truncates a table
Optionaloptions: QiTruncateTableOptionsToggles foreign key checks. Don't forget to turn them back on, use withoutForeignKeyChecks to do this automatically.
Optionaloptions: QueryRawOptionsDisables foreign key checks for the duration of the callback. The foreign key checks are only disabled for the current connection. To specify the connection, you can either use the "connection" or the "transaction" option. If you do not specify a connection, this method will reserve a connection for the duration of the callback, and release it afterwards. You will receive the connection or transaction as the first argument of the callback. You must use this connection to execute queries
Disables foreign key checks for the duration of the callback. The foreign key checks are only disabled for the current connection. To specify the connection, you can either use the "connection" or the "transaction" option. If you do not specify a connection, this method will reserve a connection for the duration of the callback, and release it afterwards. You will receive the connection or transaction as the first argument of the callback. You must use this connection to execute queries
This is a temporary class used to progressively migrate the AbstractQueryInterface class to TypeScript by slowly moving its functions here. Always use AbstractQueryInterface instead.