Abstract
Abstract
Readonly
connectionReadonly
dataReadonly
identifierReadonly
minimumReadonly
nameReadonly
optionsAbstract
Readonly
QueryAbstract
Readonly
queryAbstract
Readonly
queryReadonly
sequelizeStatic
Readonly
supportsuse identifierDelimiter.start
use identifierDelimiter.end
Whether this dialect can use \ in strings to escape string delimiters.
Abstract
createProduces a safe representation of a Buffer for this dialect, that can be inlined in a SQL string. Used mainly by DataTypes.
The buffer to escape
The string, escaped for SQL.
Produces a safe representation of a string for this dialect, that can be inlined in a SQL string. Used mainly by DataTypes.
The string to escape
The string, escaped for SQL.
Abstract
getAbstract
parseUsed to register a base parser for a Database type. Parsers are based on the Database Type, not the JS type. Only one parser can be assigned as the parser for a Database Type. For this reason, prefer neutral implementations.
For instance, when implementing "parse" for a Date type, prefer returning a String rather than a Date object.
The DataTypes.ABSTRACT#parseDatabaseValue method will then be called on the DataType instance defined by the user, which can decide on a more specific JS type (e.g. parse the date string & return a Date instance or a Temporal instance).
You typically do not need to implement this method. This is used to provide default parsers when no DataType is provided (e.g. raw queries that don't specify a model). Sequelize already provides a default parser for most types. For a custom Data Type, implementing DataTypes.ABSTRACT#parseDatabaseValue is typically what you want.
Dialect-specific DB data type identifiers that will use this parser.
The parser function to call when parsing the data type. Parameters are dialect-specific.
Protected
Static
extendOptional
alterColumn?: { unique?: boolean }Optional
unique?: booleanCan "ALTER TABLE x ALTER COLUMN y" add UNIQUE to the column in this dialect?
Optional
autoIncrement?: { defaultValue?: boolean; identityInsert?: boolean; update?: boolean }Optional
bulkDefault?: booleanOptional
connectionTransactionMethods?: booleanOptional
constraints?: {Optional
add?: booleanOptional
check?: booleanOptional
default?: booleanOptional
deferrable?: booleanThis dialect supports marking a column's constraints as deferrable. e.g. 'DEFERRABLE' and 'INITIALLY DEFERRED'
Optional
foreignKey?: booleanOptional
foreignKeyChecksDisableable?: booleanWhether this dialect supports disabling foreign key checks for the current session
Optional
onUpdate?: booleanOptional
primaryKey?: booleanOptional
remove?: booleanOptional
removeOptions?: { cascade?: boolean; ifExists?: boolean }Optional
restrict?: booleanOptional
unique?: booleanOptional
createSchema?: {Optional
dataTypes?: {Optional
ARRAY?: booleanOptional
BIGINT?: booleanThis dialect supports big integers
Optional
CHAR?: booleanOptional
CIDR?: booleanOptional
CITEXT?: booleanThis dialect supports case-insensitive text
Optional
COLLATE_BINARY?: booleanWhether this dialect provides a binary collation on text, varchar & char columns.
Optional
DATEONLY?: { infinity?: boolean }Optional
infinity?: booleanWhether "infinity" is a valid value in this dialect's DATEONLY data type
Optional
DATETIME?: { infinity?: boolean }Optional
infinity?: booleanWhether "infinity" is a valid value in this dialect's DATETIME data type
Optional
DECIMAL?: This dialect supports arbitrary precision numbers
Optional
DOUBLE?: {This dialect supports 8 byte long floating point numbers
Optional
infinity?: booleanWhether Infinity/-Infinity can be inserted in a column that uses this DataType.
Optional
NaN?: booleanWhether NaN can be inserted in a column that uses this DataType.
Optional
scaleAndPrecision?: booleanWhether scale & precision can be specified as parameters
Optional
unsigned?: booleanWhether this dialect supports the unsigned option natively
Optional
zerofill?: booleanOptional
FLOAT?: {This dialect supports 4 byte long floating point numbers
Optional
infinity?: booleanWhether Infinity/-Infinity can be inserted in a column that uses this DataType.
Optional
NaN?: booleanWhether NaN can be inserted in a column that uses this DataType.
Optional
scaleAndPrecision?: booleanWhether scale & precision can be specified as parameters
Optional
unsigned?: booleanWhether this dialect supports the unsigned option natively
Optional
zerofill?: booleanOptional
GEOGRAPHY?: booleanOptional
GEOMETRY?: booleanOptional
HSTORE?: booleanOptional
INET?: booleanOptional
INTS?: { unsigned?: boolean; zerofill?: boolean }Options supportable by all int types (from tinyint to bigint)
Optional
unsigned?: booleanWhether this dialect supports the unsigned option natively
Optional
zerofill?: booleanOptional
JSON?: booleanThe dialect is considered to support JSON if it provides either:
Optional
JSONB?: booleanOptional
MACADDR?: booleanOptional
MACADDR8?: booleanOptional
RANGE?: booleanOptional
REAL?: {Optional
infinity?: booleanWhether Infinity/-Infinity can be inserted in a column that uses this DataType.
Optional
NaN?: booleanWhether NaN can be inserted in a column that uses this DataType.
Optional
scaleAndPrecision?: booleanWhether scale & precision can be specified as parameters
Optional
unsigned?: booleanWhether this dialect supports the unsigned option natively
Optional
zerofill?: booleanOptional
TIME?: { precision?: boolean }Optional
precision?: booleanWhether the dialect supports TIME(precision)
Optional
TSVECTOR?: booleanOptional
DEFAULT?: booleanOptional
DEFAULT VALUES?: booleanOptional
delete?: { limit?: boolean }Optional
dropSchema?: { cascade?: boolean; ifExists?: boolean }Optional
dropTable?: { cascade?: boolean }Optional
escapeStringConstants?: booleanThis dialect supports E-prefixed strings, e.g. "E'foo'", which enables the ability to use backslash escapes inside the string.
Optional
EXCEPTION?: booleanOptional
finalTable?: booleanOptional
forShare?: "LOCK IN SHARE MODE" | "FOR SHARE"Optional
globalTimeZoneConfig?: booleanWhether this dialect supports changing the global timezone option
Optional
groupedLimit?: booleanOptional
index?: {Optional
indexHints?: booleanOptional
indexViaAlter?: booleanOptional
inserts?: {Optional
IREGEXP?: booleanCase-insensitive regexp operator support ('~*' in postgres).
Optional
isolationLevels?: booleanOptional
jsonExtraction?: { quoted?: boolean; unquoted?: boolean }Whether this dialect supports returning quoted & unquoted JSON strings
Optional
jsonOperations?: booleanWhether this dialect supports SQL JSON functions
Optional
LIMIT ON UPDATE?: booleanOptional
lock?: booleanOptional
lockKey?: booleanOptional
lockOf?: booleanOptional
lockOuterJoinFailure?: booleanOptional
maxExecutionTimeHint?: { select?: boolean }Optional
migrations?: booleanOptional
multiDatabases?: booleanWhether this dialect has native support for having multiple databases per instance (in the postgres or mssql sense). For the purposes of Sequelize, a database is considered to be a grouping of schemas. For instance, in MySQL, "CREATE DATABASE" creates what we consider to be a schema, so we do not consider that MySQL supports this option.
Optional
ON DUPLICATE KEY?: booleanOptional
ORDER NULLS?: booleanOptional
REGEXP?: booleanOptional
removeColumn?: { cascade?: boolean; ifExists?: boolean }Optional
renameTable?: { changeSchema?: boolean; changeSchemaAndTable?: boolean }Optional
returnValues?: false | "output" | "returning"Optional
RIGHT JOIN?: booleanOptional
savepoints?: booleanOptional
schemas?: booleanWhether this dialect has native support for schemas. For the purposes of Sequelize, a Schema is considered to be a grouping of tables. For instance, in MySQL, "CREATE DATABASE" creates what we consider to be a schema.
Optional
searchPath?: booleanOptional
settingIsolationLevelDuringTransaction?: booleanOptional
skipLocked?: booleanOptional
startTransaction?: { readOnly?: boolean; transactionType?: boolean; useBegin?: boolean }Optional
tableHints?: booleanOptional
tmpTableTrigger?: booleanOptional
transactions?: booleanOptional
truncate?: { cascade?: boolean; restartIdentity?: boolean }Optional
UNION?: booleanOptional
UNION ALL?: booleanOptional
upserts?: booleanOptional
uuidV1Generation?: booleanWhether this dialect provides a native way to generate UUID v1 values
Optional
uuidV4Generation?: booleanWhether this dialect provides a native way to generate UUID v4 values
Optional
VALUES ()?: booleanStatic
getStatic
get
List of features this dialect supports.
Important: Dialect implementations inherit these values. When changing a default, ensure the implementations still properly declare which feature they support.