UNPKG

drizzle-orm

Version:

Drizzle ORM package for SQL databases

1 lines 2.04 kB
{"version":3,"sources":["../../../src/mysql-core/columns/date.common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnDataType,\n\tHasDefault,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport interface MySqlDateColumnBaseConfig {\n\thasOnUpdateNow: boolean;\n}\n\nexport abstract class MySqlDateColumnBaseBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlDateColumnBaseConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateColumnBuilder';\n\n\tdefaultNow() {\n\t\treturn this.default(sql`(now())`);\n\t}\n\n\t// \"on update now\" also adds an implicit default value to the column - https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html\n\tonUpdateNow(): HasDefault<this> {\n\t\tthis.config.hasOnUpdateNow = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n}\n\nexport abstract class MySqlDateBaseColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlDateColumnBaseConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateColumn';\n\n\treadonly hasOnUpdateNow: boolean = this.config.hasOnUpdateNow;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,oBAA2B;AAC3B,iBAAoB;AACpB,oBAAgD;AAMzC,MAAe,mCAIZ,iCAAgF;AAAA,EACzF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAa;AACZ,WAAO,KAAK,QAAQ,uBAAY;AAAA,EACjC;AAAA;AAAA,EAGA,cAAgC;AAC/B,SAAK,OAAO,iBAAiB;AAC7B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,4BAGZ,0BAA2D;AAAA,EACpE,QAA0B,wBAAU,IAAY;AAAA,EAEvC,iBAA0B,KAAK,OAAO;AAChD;","names":[]}