Abstract
Private
Readonly
#basePrivate
Readonly
#datadialect-specific implementation of shared data types
Private
Readonly
#dataPrivate
Readonly
#printedAbstract
Readonly
QueryAbstract
Readonly
connectionReadonly
dataReadonly
identifierReadonly
end: stringReadonly
start: stringReadonly
minimumReadonly
nameReadonly
optionsAbstract
Readonly
queryAbstract
Readonly
queryReadonly
sequelizeStatic
Readonly
supportsList 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.
use identifierDelimiter.start
use identifierDelimiter.end
Abstract
createReturns the dialect-specific implementation of a shared data type, or null if no such implementation exists (in which case you need to use the base implementation).
The shared data type.
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
DEFAULT?: booleanOptional
DEFAULT VALUES?: booleanOptional
EXCEPTION?: booleanOptional
IREGEXP?: booleanCase-insensitive regexp operator support ('~*' in postgres).
Optional
LIMIT ON UPDATE?: booleanOptional
ON DUPLICATE KEY?: booleanOptional
ORDER NULLS?: booleanOptional
REGEXP?: booleanOptional
RIGHT JOIN?: booleanOptional
UNION?: booleanOptional
UNION ALL?: booleanOptional
VALUES ()?: booleanOptional
alterOptional
unique?: booleanCan "ALTER TABLE x ALTER COLUMN y" add UNIQUE to the column in this dialect?
Optional
autoOptional
defaultOptional
identityOptional
update?: booleanOptional
bulkOptional
connectionOptional
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
foreignOptional
foreignWhether this dialect supports disabling foreign key checks for the current session
Optional
onOptional
primaryOptional
remove?: booleanOptional
removeOptional
cascade?: booleanOptional
ifOptional
restrict?: booleanOptional
unique?: booleanOptional
createOptional
authorization?: booleanOptional
charset?: booleanOptional
collate?: booleanOptional
comment?: booleanOptional
ifOptional
replace?: booleanOptional
dataOptional
ARRAY?: booleanOptional
BIGINT?: booleanThis dialect supports big integers
Optional
CHAR?: booleanOptional
CIDR?: booleanOptional
CITEXT?: booleanThis dialect supports case-insensitive text
Optional
COLLATE_Whether this dialect provides a binary collation on text, varchar & char columns.
Optional
DATEONLY?: { Optional
infinity?: booleanWhether "infinity" is a valid value in this dialect's DATEONLY data type
Optional
DATETIME?: { Optional
infinity?: booleanWhether "infinity" is a valid value in this dialect's DATETIME data type
Optional
DECIMAL?: false | { This dialect supports arbitrary precision numbers
Optional
DOUBLE?: { This dialect supports 8 byte long floating point numbers
Optional
NaN?: booleanWhether NaN can be inserted in a column that uses this DataType.
Optional
infinity?: booleanWhether Infinity/-Infinity can be inserted in a column that uses this DataType.
Optional
scaleWhether 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
NaN?: booleanWhether NaN can be inserted in a column that uses this DataType.
Optional
infinity?: booleanWhether Infinity/-Infinity can be inserted in a column that uses this DataType.
Optional
scaleWhether 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?: { 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
NaN?: booleanWhether NaN can be inserted in a column that uses this DataType.
Optional
infinity?: booleanWhether Infinity/-Infinity can be inserted in a column that uses this DataType.
Optional
scaleWhether scale & precision can be specified as parameters
Optional
unsigned?: booleanWhether this dialect supports the unsigned option natively
Optional
zerofill?: booleanOptional
TIME?: { Optional
precision?: booleanWhether the dialect supports TIME(precision)
Optional
TSVECTOR?: booleanOptional
delete?: { Optional
limit?: booleanOptional
dropOptional
cascade?: booleanOptional
ifOptional
dropOptional
cascade?: booleanOptional
escapeThis dialect supports E-prefixed strings, e.g. "E'foo'", which enables the ability to use backslash escapes inside the string.
Optional
finalOptional
forOptional
globalWhether this dialect supports changing the global timezone option
Optional
groupedOptional
index?: { Optional
collate?: booleanOptional
concurrently?: booleanOptional
functionOptional
include?: booleanOptional
length?: booleanOptional
operator?: booleanOptional
parser?: booleanOptional
type?: booleanOptional
using?: number | booleanOptional
where?: booleanOptional
indexOptional
indexOptional
inserts?: { Optional
conflictOptional
ignoreOptional
onOptional
onOptional
updateOptional
isolationOptional
jsonWhether this dialect supports returning quoted & unquoted JSON strings
Optional
quoted?: booleanOptional
unquoted?: booleanOptional
jsonWhether this dialect supports SQL JSON functions
Optional
lock?: booleanOptional
lockOptional
lockOptional
lockOptional
maxOptional
select?: booleanOptional
migrations?: booleanOptional
multiWhether 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
removeOptional
cascade?: booleanOptional
ifOptional
renameOptional
changeOptional
changeOptional
returnOptional
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
searchOptional
settingOptional
skipOptional
startOptional
readOptional
transactionOptional
useOptional
tableOptional
tmpOptional
transactions?: booleanOptional
truncate?: { Optional
cascade?: booleanOptional
restartOptional
upserts?: booleanOptional
uuidWhether this dialect provides a native way to generate UUID v1 values
Optional
uuidWhether this dialect provides a native way to generate UUID v4 values
Static
getStatic
get
base implementations of shared data types