AbstractAbstract ReadonlyconnectionReadonlydataReadonlyidentifierReadonlyminimumReadonlynameReadonlyoptionsAbstract ReadonlyQueryAbstract ReadonlyqueryAbstract ReadonlyqueryReadonlysequelizeStatic Readonlysupportsuse identifierDelimiter.start
use identifierDelimiter.end
Whether this dialect can use \ in strings to escape string delimiters.
AbstractcreateProduces 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.
AbstractgetAbstractparseUsed 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 StaticextendOptionalalterColumn?: { unique?: boolean }Optionalunique?: booleanCan "ALTER TABLE x ALTER COLUMN y" add UNIQUE to the column in this dialect?
OptionalautoIncrement?: { defaultValue?: boolean; identityInsert?: boolean; update?: boolean }OptionalbulkDefault?: booleanOptionalconnectionTransactionMethods?: booleanOptionalconstraints?: {Optionaladd?: booleanOptionalcheck?: booleanOptionaldefault?: booleanOptionaldeferrable?: booleanThis dialect supports marking a column's constraints as deferrable. e.g. 'DEFERRABLE' and 'INITIALLY DEFERRED'
OptionalforeignKey?: booleanOptionalforeignKeyChecksDisableable?: booleanWhether this dialect supports disabling foreign key checks for the current session
OptionalonUpdate?: booleanOptionalprimaryKey?: booleanOptionalremove?: booleanOptionalremoveOptions?: { cascade?: boolean; ifExists?: boolean }Optionalrestrict?: booleanOptionalunique?: booleanOptionalcreateSchema?: {OptionaldataTypes?: {OptionalARRAY?: booleanOptionalBIGINT?: booleanThis dialect supports big integers
OptionalCHAR?: booleanOptionalCIDR?: booleanOptionalCITEXT?: booleanThis dialect supports case-insensitive text
OptionalCOLLATE_BINARY?: booleanWhether this dialect provides a binary collation on text, varchar & char columns.
OptionalDATEONLY?: { infinity?: boolean }Optionalinfinity?: booleanWhether "infinity" is a valid value in this dialect's DATEONLY data type
OptionalDATETIME?: { infinity?: boolean }Optionalinfinity?: booleanWhether "infinity" is a valid value in this dialect's DATETIME data type
OptionalDECIMAL?: This dialect supports arbitrary precision numbers
OptionalDOUBLE?: {This dialect supports 8 byte long floating point numbers
Optionalinfinity?: booleanWhether Infinity/-Infinity can be inserted in a column that uses this DataType.
OptionalNaN?: booleanWhether NaN can be inserted in a column that uses this DataType.
OptionalscaleAndPrecision?: booleanWhether scale & precision can be specified as parameters
Optionalunsigned?: booleanWhether this dialect supports the unsigned option natively
Optionalzerofill?: booleanOptionalFLOAT?: {This dialect supports 4 byte long floating point numbers
Optionalinfinity?: booleanWhether Infinity/-Infinity can be inserted in a column that uses this DataType.
OptionalNaN?: booleanWhether NaN can be inserted in a column that uses this DataType.
OptionalscaleAndPrecision?: booleanWhether scale & precision can be specified as parameters
Optionalunsigned?: booleanWhether this dialect supports the unsigned option natively
Optionalzerofill?: booleanOptionalGEOGRAPHY?: booleanOptionalGEOMETRY?: booleanOptionalHSTORE?: booleanOptionalINET?: booleanOptionalINTS?: { unsigned?: boolean; zerofill?: boolean }Options supportable by all int types (from tinyint to bigint)
Optionalunsigned?: booleanWhether this dialect supports the unsigned option natively
Optionalzerofill?: booleanOptionalJSON?: booleanThe dialect is considered to support JSON if it provides either:
OptionalJSONB?: booleanOptionalMACADDR?: booleanOptionalMACADDR8?: booleanOptionalRANGE?: booleanOptionalREAL?: {Optionalinfinity?: booleanWhether Infinity/-Infinity can be inserted in a column that uses this DataType.
OptionalNaN?: booleanWhether NaN can be inserted in a column that uses this DataType.
OptionalscaleAndPrecision?: booleanWhether scale & precision can be specified as parameters
Optionalunsigned?: booleanWhether this dialect supports the unsigned option natively
Optionalzerofill?: booleanOptionalTIME?: { precision?: boolean }Optionalprecision?: booleanWhether the dialect supports TIME(precision)
OptionalTSVECTOR?: booleanOptionalDEFAULT?: booleanOptionalDEFAULT VALUES?: booleanOptionaldelete?: { limit?: boolean }OptionaldropSchema?: { cascade?: boolean; ifExists?: boolean }OptionaldropTable?: { cascade?: boolean }OptionalescapeStringConstants?: booleanThis dialect supports E-prefixed strings, e.g. "E'foo'", which enables the ability to use backslash escapes inside the string.
OptionalEXCEPTION?: booleanOptionalfinalTable?: booleanOptionalforShare?: "LOCK IN SHARE MODE" | "FOR SHARE"OptionalglobalTimeZoneConfig?: booleanWhether this dialect supports changing the global timezone option
OptionalgroupedLimit?: booleanOptionalindex?: {OptionalindexHints?: booleanOptionalindexViaAlter?: booleanOptionalinserts?: {OptionalIREGEXP?: booleanCase-insensitive regexp operator support ('~*' in postgres).
OptionalisolationLevels?: booleanOptionaljsonExtraction?: { quoted?: boolean; unquoted?: boolean }Whether this dialect supports returning quoted & unquoted JSON strings
OptionaljsonOperations?: booleanWhether this dialect supports SQL JSON functions
OptionalLIMIT ON UPDATE?: booleanOptionallock?: booleanOptionallockKey?: booleanOptionallockOf?: booleanOptionallockOuterJoinFailure?: booleanOptionalmaxExecutionTimeHint?: { select?: boolean }Optionalmigrations?: booleanOptionalmultiDatabases?: 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.
OptionalON DUPLICATE KEY?: booleanOptionalORDER NULLS?: booleanOptionalREGEXP?: booleanOptionalremoveColumn?: { cascade?: boolean; ifExists?: boolean }OptionalrenameTable?: { changeSchema?: boolean; changeSchemaAndTable?: boolean }OptionalreturnValues?: false | "output" | "returning"OptionalRIGHT JOIN?: booleanOptionalsavepoints?: booleanOptionalschemas?: 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.
OptionalsearchPath?: booleanOptionalsettingIsolationLevelDuringTransaction?: booleanOptionalskipLocked?: booleanOptionalstartTransaction?: { readOnly?: boolean; transactionType?: boolean; useBegin?: boolean }OptionaltableHints?: booleanOptionaltmpTableTrigger?: booleanOptionaltransactions?: booleanOptionaltruncate?: { cascade?: boolean; restartIdentity?: boolean }OptionalUNION?: booleanOptionalUNION ALL?: booleanOptionalupserts?: booleanOptionaluuidV1Generation?: booleanWhether this dialect provides a native way to generate UUID v1 values
OptionaluuidV4Generation?: booleanWhether this dialect provides a native way to generate UUID v4 values
OptionalVALUES ()?: booleanStaticgetStaticget
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.