drizzle-orm 0.25.2 → 0.25.3-4cc2d87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/aws-data-api/pg/index.cjs +234 -1
- package/aws-data-api/pg/index.cjs.map +1 -1
- package/aws-data-api/pg/index.d.ts +5 -6
- package/aws-data-api/pg/index.mjs +228 -1
- package/aws-data-api/pg/index.mjs.map +1 -1
- package/aws-data-api/pg/migrator.cjs +13 -1
- package/aws-data-api/pg/migrator.cjs.map +1 -1
- package/aws-data-api/pg/migrator.d.ts +5 -6
- package/aws-data-api/pg/migrator.mjs +11 -1
- package/aws-data-api/pg/migrator.mjs.map +1 -1
- package/better-sqlite3/index.cjs +119 -1
- package/better-sqlite3/index.cjs.map +1 -1
- package/better-sqlite3/index.d.ts +14 -12
- package/better-sqlite3/index.mjs +114 -1
- package/better-sqlite3/index.mjs.map +1 -1
- package/better-sqlite3/migrator.cjs +13 -1
- package/better-sqlite3/migrator.cjs.map +1 -1
- package/better-sqlite3/migrator.d.ts +5 -5
- package/better-sqlite3/migrator.mjs +11 -1
- package/better-sqlite3/migrator.mjs.map +1 -1
- package/bun-sqlite/index.cjs +126 -1
- package/bun-sqlite/index.cjs.map +1 -1
- package/bun-sqlite/index.d.ts +14 -12
- package/bun-sqlite/index.mjs +121 -1
- package/bun-sqlite/index.mjs.map +1 -1
- package/bun-sqlite/migrator.cjs +13 -1
- package/bun-sqlite/migrator.cjs.map +1 -1
- package/bun-sqlite/migrator.d.ts +5 -5
- package/bun-sqlite/migrator.mjs +11 -1
- package/bun-sqlite/migrator.mjs.map +1 -1
- package/{column.d-8b137277.d.ts → column.d-c31e7ad3.d.ts} +77 -6
- package/d1/index.cjs +116 -1
- package/d1/index.cjs.map +1 -1
- package/d1/index.d.ts +15 -12
- package/d1/index.mjs +111 -1
- package/d1/index.mjs.map +1 -1
- package/d1/migrator.cjs +13 -1
- package/d1/migrator.cjs.map +1 -1
- package/d1/migrator.d.ts +5 -5
- package/d1/migrator.mjs +11 -1
- package/d1/migrator.mjs.map +1 -1
- package/{db.d-ae495c35.d.ts → db.d-a2311092.d.ts} +121 -44
- package/{db.d-66553b9e.d.ts → db.d-bc9a1d6c.d.ts} +193 -16
- package/driver.d-17ca4c15.d.ts +8 -0
- package/driver.d-300ddb0e.d.ts +64 -0
- package/driver.d-45e56643.d.ts +60 -0
- package/driver.d-64f2125c.d.ts +8 -0
- package/driver.d-7fde2e9d.d.ts +55 -0
- package/driver.d-9d703b84.d.ts +8 -0
- package/driver.d-b2b94bf9.d.ts +46 -0
- package/driver.d-b70ee7ee.d.ts +55 -0
- package/driver.d-dea23ee6.d.ts +8 -0
- package/driver.d-e54af17b.d.ts +52 -0
- package/driver.d-eb490c91.d.ts +9 -0
- package/driver.d-ef6fa2df.d.ts +14 -0
- package/errors-bb636d84.mjs +19 -0
- package/errors-bb636d84.mjs.map +1 -0
- package/errors-d0192d62.cjs +22 -0
- package/errors-d0192d62.cjs.map +1 -0
- package/index.cjs +105 -1
- package/index.cjs.map +1 -1
- package/index.d.ts +16 -432
- package/index.mjs +3 -1
- package/index.mjs.map +1 -1
- package/knex/index.cjs +2 -1
- package/knex/index.cjs.map +1 -1
- package/knex/index.d.ts +1 -1
- package/kysely/index.cjs +2 -1
- package/kysely/index.cjs.map +1 -1
- package/kysely/index.d.ts +1 -1
- package/libsql/index.cjs +155 -1
- package/libsql/index.cjs.map +1 -1
- package/libsql/index.d.ts +14 -12
- package/libsql/index.mjs +150 -1
- package/libsql/index.mjs.map +1 -1
- package/libsql/migrator.cjs +13 -1
- package/libsql/migrator.cjs.map +1 -1
- package/libsql/migrator.d.ts +5 -5
- package/libsql/migrator.mjs +11 -1
- package/libsql/migrator.mjs.map +1 -1
- package/logger-caa1ca6e.cjs +34 -0
- package/logger-caa1ca6e.cjs.map +1 -0
- package/logger-caf75bde.mjs +30 -0
- package/logger-caf75bde.mjs.map +1 -0
- package/migrator.cjs +48 -1
- package/migrator.cjs.map +1 -1
- package/migrator.mjs +46 -1
- package/migrator.mjs.map +1 -1
- package/mysql-core/index.cjs +1004 -1
- package/mysql-core/index.cjs.map +1 -1
- package/mysql-core/index.d.ts +347 -347
- package/mysql-core/index.mjs +869 -1
- package/mysql-core/index.mjs.map +1 -1
- package/mysql2/index.cjs +230 -1
- package/mysql2/index.cjs.map +1 -1
- package/mysql2/index.d.ts +5 -6
- package/mysql2/index.mjs +223 -1
- package/mysql2/index.mjs.map +1 -1
- package/mysql2/migrator.cjs +13 -1
- package/mysql2/migrator.cjs.map +1 -1
- package/mysql2/migrator.d.ts +5 -6
- package/mysql2/migrator.mjs +11 -1
- package/mysql2/migrator.mjs.map +1 -1
- package/neon-serverless/index.cjs +155 -1
- package/neon-serverless/index.cjs.map +1 -1
- package/neon-serverless/index.d.ts +5 -6
- package/neon-serverless/index.mjs +149 -1
- package/neon-serverless/index.mjs.map +1 -1
- package/neon-serverless/migrator.cjs +13 -1
- package/neon-serverless/migrator.cjs.map +1 -1
- package/neon-serverless/migrator.d.ts +5 -6
- package/neon-serverless/migrator.mjs +11 -1
- package/neon-serverless/migrator.mjs.map +1 -1
- package/node-postgres/index.cjs +157 -1
- package/node-postgres/index.cjs.map +1 -1
- package/node-postgres/index.d.ts +5 -6
- package/node-postgres/index.mjs +151 -1
- package/node-postgres/index.mjs.map +1 -1
- package/node-postgres/migrator.cjs +13 -1
- package/node-postgres/migrator.cjs.map +1 -1
- package/node-postgres/migrator.d.ts +5 -6
- package/node-postgres/migrator.mjs +11 -1
- package/node-postgres/migrator.mjs.map +1 -1
- package/package.json +97 -34
- package/pg-core/index.cjs +652 -1
- package/pg-core/index.cjs.map +1 -1
- package/pg-core/index.d.ts +13 -7
- package/pg-core/index.mjs +501 -1
- package/pg-core/index.mjs.map +1 -1
- package/planetscale-serverless/index.cjs +111 -1
- package/planetscale-serverless/index.cjs.map +1 -1
- package/planetscale-serverless/index.d.ts +5 -6
- package/planetscale-serverless/index.mjs +106 -1
- package/planetscale-serverless/index.mjs.map +1 -1
- package/planetscale-serverless/migrator.cjs +13 -1
- package/planetscale-serverless/migrator.cjs.map +1 -1
- package/planetscale-serverless/migrator.d.ts +5 -6
- package/planetscale-serverless/migrator.mjs +11 -1
- package/planetscale-serverless/migrator.mjs.map +1 -1
- package/postgres-js/index.cjs +113 -1
- package/postgres-js/index.cjs.map +1 -1
- package/postgres-js/index.d.ts +5 -6
- package/postgres-js/index.mjs +108 -1
- package/postgres-js/index.mjs.map +1 -1
- package/postgres-js/migrator.cjs +13 -1
- package/postgres-js/migrator.cjs.map +1 -1
- package/postgres-js/migrator.d.ts +5 -6
- package/postgres-js/migrator.mjs +11 -1
- package/postgres-js/migrator.mjs.map +1 -1
- package/query-promise.d-e370e0a9.d.ts +617 -0
- package/relations-47eb5c5f.mjs +2954 -0
- package/relations-47eb5c5f.mjs.map +1 -0
- package/relations-5e2d30dd.cjs +3117 -0
- package/relations-5e2d30dd.cjs.map +1 -0
- package/{select.types.d-c3e86d45.d.ts → select.types.d-34d7f74e.d.ts} +1 -1
- package/{select.types.d-adb82002.d.ts → select.types.d-ae2f8e44.d.ts} +58 -14
- package/session-483ed08d.mjs +1263 -0
- package/session-483ed08d.mjs.map +1 -0
- package/session-6bd76405.cjs +362 -0
- package/session-6bd76405.cjs.map +1 -0
- package/session-a90df8a2.cjs +1252 -0
- package/session-a90df8a2.cjs.map +1 -0
- package/session-b99382a2.mjs +1223 -0
- package/session-b99382a2.mjs.map +1 -0
- package/session-c62f6348.cjs +1298 -0
- package/session-c62f6348.cjs.map +1 -0
- package/session-e8745392.mjs +351 -0
- package/session-e8745392.mjs.map +1 -0
- package/sql-js/index.cjs +175 -1
- package/sql-js/index.cjs.map +1 -1
- package/sql-js/index.d.ts +14 -12
- package/sql-js/index.mjs +170 -1
- package/sql-js/index.mjs.map +1 -1
- package/sql-js/migrator.cjs +13 -1
- package/sql-js/migrator.cjs.map +1 -1
- package/sql-js/migrator.d.ts +5 -5
- package/sql-js/migrator.mjs +11 -1
- package/sql-js/migrator.mjs.map +1 -1
- package/sqlite-core/index.cjs +516 -1
- package/sqlite-core/index.cjs.map +1 -1
- package/sqlite-core/index.d.ts +6 -5
- package/sqlite-core/index.mjs +441 -1
- package/sqlite-core/index.mjs.map +1 -1
- package/sqlite-proxy/index.cjs +118 -1
- package/sqlite-proxy/index.cjs.map +1 -1
- package/sqlite-proxy/index.d.ts +12 -11
- package/sqlite-proxy/index.mjs +113 -1
- package/sqlite-proxy/index.mjs.map +1 -1
- package/sqlite-proxy/migrator.cjs +25 -2
- package/sqlite-proxy/migrator.cjs.map +1 -1
- package/sqlite-proxy/migrator.d.ts +5 -5
- package/sqlite-proxy/migrator.mjs +23 -2
- package/sqlite-proxy/migrator.mjs.map +1 -1
- package/version.cjs +9 -1
- package/version.cjs.map +1 -1
- package/version.d.ts +1 -1
- package/version.mjs +6 -1
- package/version.mjs.map +1 -1
- package/README.md +0 -150
- package/column-builder-592f0191.mjs +0 -2
- package/column-builder-592f0191.mjs.map +0 -1
- package/column-builder-b48639f3.cjs +0 -2
- package/column-builder-b48639f3.cjs.map +0 -1
- package/driver.d-0158cd93.d.ts +0 -11
- package/driver.d-1f73a4a9.d.ts +0 -70
- package/driver.d-2e907d12.d.ts +0 -17
- package/driver.d-3781598a.d.ts +0 -11
- package/driver.d-3a8adf2a.d.ts +0 -61
- package/driver.d-59580d08.d.ts +0 -11
- package/driver.d-5f3fc125.d.ts +0 -12
- package/driver.d-693f7f9f.d.ts +0 -56
- package/driver.d-6c43e393.d.ts +0 -60
- package/driver.d-b00fc6ec.d.ts +0 -57
- package/driver.d-e4bd120b.d.ts +0 -47
- package/driver.d-f4b5b390.d.ts +0 -11
- package/index-59b7992d.cjs +0 -2
- package/index-59b7992d.cjs.map +0 -1
- package/index-b71998f1.mjs +0 -2
- package/index-b71998f1.mjs.map +0 -1
- package/logger-04bad527.cjs +0 -2
- package/logger-04bad527.cjs.map +0 -1
- package/logger-2598bf05.mjs +0 -2
- package/logger-2598bf05.mjs.map +0 -1
- package/logger.d-37185354.d.ts +0 -21
- package/query-builder-2f2e8229.cjs +0 -2
- package/query-builder-2f2e8229.cjs.map +0 -1
- package/query-builder-2fcde2f0.mjs +0 -2
- package/query-builder-2fcde2f0.mjs.map +0 -1
- package/query-promise-2c5b43ab.cjs +0 -2
- package/query-promise-2c5b43ab.cjs.map +0 -1
- package/query-promise-a65edd44.mjs +0 -2
- package/query-promise-a65edd44.mjs.map +0 -1
- package/query-promise.d-a8af8583.d.ts +0 -9
- package/session-8a621f09.mjs +0 -8
- package/session-8a621f09.mjs.map +0 -1
- package/session-b6939bab.cjs +0 -14
- package/session-b6939bab.cjs.map +0 -1
- package/session-b977ce56.mjs +0 -14
- package/session-b977ce56.mjs.map +0 -1
- package/session-c891400d.mjs +0 -8
- package/session-c891400d.mjs.map +0 -1
- package/session-e6db6732.cjs +0 -8
- package/session-e6db6732.cjs.map +0 -1
- package/session-ef1ef979.cjs +0 -8
- package/session-ef1ef979.cjs.map +0 -1
- package/utils-9d882195.cjs +0 -2
- package/utils-9d882195.cjs.map +0 -1
- package/utils-e6870670.mjs +0 -2
- package/utils-e6870670.mjs.map +0 -1
package/mysql-core/index.mjs
CHANGED
|
@@ -1,2 +1,870 @@
|
|
|
1
|
-
import{d as e,s as c,T as a,v as f}from"../index-b71998f1.mjs";import{M as m,a as d,b,c as S,d as T,m as L,e as $,F as D,f as N}from"../session-8a621f09.mjs";export{E as ExtraConfigBuilder,i as ForeignKey,I as InlineForeignKeys,y as ManualViewBuilder,g as MySqlDatabase,k as MySqlDelete,h as MySqlDialect,n as MySqlInsert,l as MySqlInsertBuilder,q as MySqlSelect,o as MySqlSelectBuilder,p as MySqlSelectQueryBuilder,t as MySqlSession,u as MySqlTransaction,s as MySqlUpdate,r as MySqlUpdateBuilder,A as MySqlView,z as MySqlViewBase,P as PreparedQuery,Q as QueryBuilder,x as ViewBuilder,V as ViewBuilderCore,j as foreignKey,v as mysqlTable,w as mysqlTableCreator,B as mysqlView}from"../session-8a621f09.mjs";import"../utils-e6870670.mjs";import"../query-promise-a65edd44.mjs";import"../column-builder-592f0191.mjs";import"../query-builder-2fcde2f0.mjs";function F(s,t){return new Proxy(s,new e(t,!1))}class M{constructor(e,s){this.name=e,this.value=s}build(e){return new C(e,this)}}class C{constructor(e,s){this.table=e,this.name=s.name,this.value=s.value}}function O(e,s){return new M(e,s)}class K extends m{build(e){return new U(e,this.config)}}class U extends d{getSQLType(){return"bigint"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class _ extends m{build(e){return new J(e,this.config)}}class J extends d{getSQLType(){return"bigint"}mapFromDriverValue(e){return BigInt(e)}}function Y(e,s){return"number"===s.mode?new K(e):new _(e)}class G extends b{constructor(e,s){super(e),this.config.length=s}build(e){return new H(e,this.config)}}class H extends S{constructor(){super(...arguments),this.length=this.config.length}getSQLType(){return void 0===this.length?"binary":`binary(${this.length})`}}function R(e,s={}){return new G(e,s.length)}class W extends b{constructor(e,s){super(e),this.config.length=s.length,this.config.enum=s.enum}build(e){return new X(e,this.config)}}class X extends S{constructor(){super(...arguments),this.length=this.config.length,this.enumValues=this.config.enum??[]}getSQLType(){return void 0===this.length?"char":`char(${this.length})`}}function Z(e,s={}){return new W(e,s)}class ee extends b{build(e){return new se(e,this.config)}}class se extends S{getSQLType(){return"boolean"}mapFromDriverValue(e){return"boolean"==typeof e?e:1===e}}function te(e){return new ee(e)}class ne extends m{constructor(e,s,t){super(e),this.config.precision=s,this.config.scale=t}build(e){return new re(e,this.config)}}class re extends d{constructor(){super(...arguments),this.precision=this.config.precision,this.scale=this.config.scale}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`decimal(${this.precision},${this.scale})`:void 0===this.precision?"decimal":`decimal(${this.precision})`}}function ie(e,s={}){return new ne(e,s.precision,s.scale)}class ue extends m{constructor(e,s){super(e),this.config.precision=s?.precision,this.config.scale=s?.scale}build(e){return new oe(e,this.config)}}class oe extends d{constructor(){super(...arguments),this.precision=this.config.precision,this.scale=this.config.scale}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`double(${this.precision},${this.scale})`:void 0===this.precision?"double":`double(${this.precision})`}}function ce(e,s){return new ue(e,s)}class ae extends b{constructor(e,s){super(e),this.config.enumValues=s}build(e){return new le(e,this.config)}}class le extends S{constructor(){super(...arguments),this.enumValues=this.config.enumValues}getSQLType(){return`enum(${this.enumValues.map((e=>`'${e}'`)).join(",")})`}}function he(e,s){if(0===s.length)throw new Error(`You have an empty array for "${e}" enum values`);return new ae(e,s)}class fe extends m{build(e){return new pe(e,this.config)}}class pe extends d{getSQLType(){return"float"}}function ge(e){return new fe(e)}class me extends m{build(e){return new de(e,this.config)}}class de extends d{getSQLType(){return"int"}mapFromDriverValue(e){return"string"==typeof e?Number(e):e}}function ye(e){return new me(e)}class we extends b{build(e){return new be(e,this.config)}}class be extends S{getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}}function xe(e){return new we(e)}class Se extends m{build(e){return new ve(e,this.config)}}class ve extends d{getSQLType(){return"mediumint"}mapFromDriverValue(e){return"string"==typeof e?Number(e):e}}function Te(e){return new Se(e)}class Qe extends m{constructor(e,s){super(e),this.config.precision=s?.precision,this.config.scale=s?.scale}build(e){return new Ve(e,this.config)}}class Ve extends d{constructor(){super(...arguments),this.precision=this.config.precision,this.scale=this.config.scale}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`real(${this.precision}, ${this.scale})`:void 0===this.precision?"real":`real(${this.precision})`}}function Le(e,s={}){return new Qe(e,s)}class $e extends m{constructor(e){super(e),this.config.hasDefault=!0,this.config.autoIncrement=!0}build(e){return new qe(e,this.config)}}class qe extends d{getSQLType(){return"serial"}mapFromDriverValue(e){return"string"==typeof e?Number(e):e}}function De(e){return new $e(e)}class Ne extends m{build(e){return new Fe(e,this.config)}}class Fe extends d{getSQLType(){return"smallint"}mapFromDriverValue(e){return"string"==typeof e?Number(e):e}}function Me(e){return new Ne(e)}class je extends b{constructor(e,s,t){super(e),this.config.textType=s,this.config.enumValues=t.enum}build(e){return new Be(e,this.config)}}class Be extends S{constructor(){super(...arguments),this.textType=this.config.textType,this.enumValues=this.config.enumValues??[]}getSQLType(){return this.textType}}function Ce(e,s={}){return new je(e,"text",s)}function Ie(e,s={}){return new je(e,"tinytext",s)}function Oe(e,s={}){return new je(e,"mediumtext",s)}function Pe(e,s={}){return new je(e,"longtext",s)}class Ke extends b{defaultNow(){return this.default(c`(now())`)}onUpdateNow(){return this.config.hasOnUpdateNow=!0,this.config.hasDefault=!0,this}}class Ue extends S{constructor(){super(...arguments),this.hasOnUpdateNow=this.config.hasOnUpdateNow}}class ke extends Ke{constructor(e,s){super(e),this.config.fsp=s?.fsp}build(e){return new Ee(e,this.config)}}class Ee extends Ue{constructor(){super(...arguments),this.fsp=this.config.fsp}getSQLType(){return`timestamp${void 0===this.fsp?"":`(${this.fsp})`}`}mapFromDriverValue(e){return new Date(e+"+0000")}mapToDriverValue(e){return e.toISOString().slice(0,19).replace("T"," ")}}class _e extends Ke{constructor(e,s){super(e),this.config.fsp=s?.fsp}build(e){return new ze(e,this.config)}}class ze extends Ue{constructor(){super(...arguments),this.fsp=this.config.fsp}getSQLType(){return`timestamp${void 0===this.fsp?"":`(${this.fsp})`}`}}function Ae(e,s={}){return"string"===s.mode?new _e(e,s):new ke(e,s)}class Je extends m{build(e){return new Ye(e,this.config)}}class Ye extends d{getSQLType(){return"tinyint"}mapFromDriverValue(e){return"string"==typeof e?Number(e):e}}function Ge(e){return new Je(e)}class He extends b{constructor(e,s){super(e),this.config.length=s?.length}build(e){return new Re(e,this.config)}}class Re extends S{constructor(){super(...arguments),this.length=this.config.length}getSQLType(){return void 0===this.length?"varbinary":`varbinary(${this.length})`}}function We(e,s){return new He(e,s)}class Xe extends b{constructor(e,s){super(e),this.config.length=s.length,this.config.enum=s.enum}build(e){return new Ze(e,this.config)}}class Ze extends S{constructor(){super(...arguments),this.length=this.config.length,this.enumValues=this.config.enum??[]}getSQLType(){return void 0===this.length?"varchar":`varchar(${this.length})`}}function es(e,s){return new Xe(e,s)}class ss extends b{build(e){return new ts(e,this.config)}}class ts extends S{constructor(e,s){super(e,s)}getSQLType(){return"date"}mapFromDriverValue(e){return new Date(e)}}class ns extends b{build(e){return new rs(e,this.config)}}class rs extends S{constructor(e,s){super(e,s)}getSQLType(){return"date"}}function is(e,s={}){return"string"===s.mode?new ns(e):new ss(e)}class us extends b{constructor(e,s){super(e),this.config.fsp=s?.fsp}build(e){return new os(e,this.config)}}class os extends S{constructor(e,s){super(e,s),this.fsp=s.fsp}getSQLType(){return`datetime${void 0===this.fsp?"":`(${this.fsp})`}`}mapFromDriverValue(e){return new Date(e)}}class cs extends b{constructor(e,s){super(e),this.config.fsp=s?.fsp}build(e){return new as(e,this.config)}}class as extends S{constructor(e,s){super(e,s),this.fsp=s.fsp}getSQLType(){return`datetime${void 0===this.fsp?"":`(${this.fsp})`}`}}function ls(e,s={}){return"string"===s.mode?new cs(e,s):new us(e,s)}class hs extends b{constructor(e,s){super(e),this.config.fsp=s?.fsp}build(e){return new fs(e,this.config)}}class fs extends S{constructor(){super(...arguments),this.fsp=this.config.fsp}getSQLType(){return`time${void 0===this.fsp?"":`(${this.fsp})`}`}}function ps(e,s){return new hs(e,s)}class gs extends b{build(e){return new ms(e,this.config)}}class ms extends S{getSQLType(){return"year"}}function ds(e){return new gs(e)}class ys extends b{constructor(e,s,t){super(e),this.config.fieldConfig=s,this.config.customTypeParams=t}build(e){return new ws(e,this.config)}}class ws extends S{constructor(e,s){super(e,s),this.sqlName=s.customTypeParams.dataType(s.fieldConfig),this.mapTo=s.customTypeParams.toDriver,this.mapFrom=s.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return"function"==typeof this.mapFrom?this.mapFrom(e):e}mapToDriverValue(e){return"function"==typeof this.mapTo?this.mapTo(e):e}}function bs(e){return(s,t)=>new ys(s,t,e)}class xs{constructor(e,s){this.name=e,this.unique=s}on(...e){return new Ss(this.name,e,this.unique)}}class Ss{constructor(e,s,t){this.config={name:e,columns:s,unique:t}}using(e){return this.config.using=e,this}algorythm(e){return this.config.algorythm=e,this}lock(e){return this.config.lock=e,this}build(e){return new vs(this.config,e)}}class vs{constructor(e,s){this.config={...e,table:s}}}function Ts(e){return new xs(e,!1)}function Qs(e){return new xs(e,!0)}function Vs(...e){return new Ls(e)}class Ls{constructor(e){this.columns=e}build(e){return new $s(e,this.columns)}}class $s{constructor(e,s){this.table=e,this.columns=s}getName(){return`${this.table[T.Symbol.Name]}_${this.columns.map((e=>e.name)).join("_")}_pk`}}class qs{constructor(e){this.schemaName=e,this.table=(e,s,t)=>L(e,s,t,this.schemaName),this.view=(e,s)=>$(e,s,this.schemaName)}}function Ds(e){return e instanceof qs}function Ns(e){return new qs(e)}const Fs=Ns;function Ms(e){const s=Object.values(e[T.Symbol.Columns]),t=[],n=[],r=[],i=Object.values(e[T.Symbol.InlineForeignKeys]),u=e[a.Symbol.Name],o=e[a.Symbol.Schema],c=e[a.Symbol.BaseName],l=e[T.Symbol.ExtraConfigBuilder];if(void 0!==l){const s=l(e[T.Symbol.Columns]);for(const u of Object.values(s))u instanceof Ss?t.push(u.build(e)):u instanceof M?n.push(u.build(e)):u instanceof Ls?r.push(u.build(e)):u instanceof D&&i.push(u.build(e))}return{columns:s,indexes:t,foreignKeys:i,checks:n,primaryKeys:r,name:u,schema:o,baseName:c}}function js(e){return{...e[f],...e[N]}}export{C as Check,M as CheckBuilder,D as ForeignKeyBuilder,vs as Index,Ss as IndexBuilder,xs as IndexBuilderOn,U as MySqlBigInt53,K as MySqlBigInt53Builder,J as MySqlBigInt64,_ as MySqlBigInt64Builder,H as MySqlBinary,G as MySqlBinaryBuilder,se as MySqlBoolean,ee as MySqlBooleanBuilder,X as MySqlChar,W as MySqlCharBuilder,S as MySqlColumn,ws as MySqlCustomColumn,ys as MySqlCustomColumnBuilder,ts as MySqlDate,ss as MySqlDateBuilder,rs as MySqlDateString,ns as MySqlDateStringBuilder,os as MySqlDateTime,us as MySqlDateTimeBuilder,as as MySqlDateTimeString,cs as MySqlDateTimeStringBuilder,re as MySqlDecimal,ne as MySqlDecimalBuilder,oe as MySqlDouble,ue as MySqlDoubleBuilder,le as MySqlEnumColumn,ae as MySqlEnumColumnBuilder,pe as MySqlFloat,fe as MySqlFloatBuilder,de as MySqlInt,me as MySqlIntBuilder,be as MySqlJson,we as MySqlJsonBuilder,ve as MySqlMediumInt,Se as MySqlMediumIntBuilder,Ve as MySqlReal,Qe as MySqlRealBuilder,qs as MySqlSchema,qe as MySqlSerial,$e as MySqlSerialBuilder,Fe as MySqlSmallInt,Ne as MySqlSmallIntBuilder,T as MySqlTable,Be as MySqlText,je as MySqlTextBuilder,fs as MySqlTime,hs as MySqlTimeBuilder,Ee as MySqlTimestamp,ke as MySqlTimestampBuilder,ze as MySqlTimestampString,_e as MySqlTimestampStringBuilder,Ye as MySqlTinyInt,Je as MySqlTinyIntBuilder,Re as MySqlVarBinary,He as MySqlVarBinaryBuilder,Ze as MySqlVarChar,Xe as MySqlVarCharBuilder,N as MySqlViewConfig,ms as MySqlYear,gs as MySqlYearBuilder,$s as PrimaryKey,Ls as PrimaryKeyBuilder,F as alias,Y as bigint,R as binary,te as boolean,Z as char,O as check,bs as customType,is as date,ls as datetime,ie as decimal,ce as double,ge as float,Ms as getTableConfig,js as getViewConfig,Ts as index,ye as int,Ds as isMySqlSchema,xe as json,Pe as longtext,Te as mediumint,Oe as mediumtext,Ns as mysqlDatabase,he as mysqlEnum,Fs as mysqlSchema,L as mysqlTableWithSchema,$ as mysqlViewWithSchema,Vs as primaryKey,Le as real,De as serial,Me as smallint,Ce as text,ps as time,Ae as timestamp,Ge as tinyint,Ie as tinytext,Qs as uniqueIndex,We as varbinary,es as varchar,ds as year};
|
|
1
|
+
import { T as TableAliasProxyHandler, a6 as sql, al as Table, au as ViewBaseConfig } from '../relations-47eb5c5f.mjs';
|
|
2
|
+
import { M as MySqlColumnBuilderWithAutoIncrement, a as MySqlColumnWithAutoIncrement, b as MySqlColumnBuilder, c as MySqlColumn, d as MySqlTable, m as mysqlTableWithSchema, e as mysqlViewWithSchema, F as ForeignKeyBuilder, f as MySqlViewConfig } from '../session-483ed08d.mjs';
|
|
3
|
+
export { i as ForeignKey, I as InlineForeignKeys, y as ManualViewBuilder, g as MySqlDatabase, k as MySqlDelete, h as MySqlDialect, n as MySqlInsert, l as MySqlInsertBuilder, q as MySqlSelect, o as MySqlSelectBuilder, p as MySqlSelectQueryBuilder, t as MySqlSession, u as MySqlTransaction, s as MySqlUpdate, r as MySqlUpdateBuilder, A as MySqlView, z as MySqlViewBase, P as PreparedQuery, Q as QueryBuilder, x as ViewBuilder, V as ViewBuilderCore, j as foreignKey, v as mysqlTable, w as mysqlTableCreator, B as mysqlView } from '../session-483ed08d.mjs';
|
|
4
|
+
import '../errors-bb636d84.mjs';
|
|
5
|
+
|
|
6
|
+
function alias(table, alias) {
|
|
7
|
+
return new Proxy(table, new TableAliasProxyHandler(alias, false));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
class CheckBuilder {
|
|
11
|
+
constructor(name, value) {
|
|
12
|
+
this.name = name;
|
|
13
|
+
this.value = value;
|
|
14
|
+
}
|
|
15
|
+
/** @internal */
|
|
16
|
+
build(table) {
|
|
17
|
+
return new Check(table, this);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
class Check {
|
|
21
|
+
constructor(table, builder) {
|
|
22
|
+
this.table = table;
|
|
23
|
+
this.name = builder.name;
|
|
24
|
+
this.value = builder.value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function check(name, value) {
|
|
28
|
+
return new CheckBuilder(name, value);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
class MySqlBigInt53Builder extends MySqlColumnBuilderWithAutoIncrement {
|
|
32
|
+
/** @internal */
|
|
33
|
+
build(table) {
|
|
34
|
+
return new MySqlBigInt53(table, this.config);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
class MySqlBigInt53 extends MySqlColumnWithAutoIncrement {
|
|
38
|
+
getSQLType() {
|
|
39
|
+
return 'bigint';
|
|
40
|
+
}
|
|
41
|
+
mapFromDriverValue(value) {
|
|
42
|
+
if (typeof value === 'number') {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
return Number(value);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
class MySqlBigInt64Builder extends MySqlColumnBuilderWithAutoIncrement {
|
|
49
|
+
/** @internal */
|
|
50
|
+
build(table) {
|
|
51
|
+
return new MySqlBigInt64(table, this.config);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
class MySqlBigInt64 extends MySqlColumnWithAutoIncrement {
|
|
55
|
+
getSQLType() {
|
|
56
|
+
return 'bigint';
|
|
57
|
+
}
|
|
58
|
+
// eslint-disable-next-line unicorn/prefer-native-coercion-functions
|
|
59
|
+
mapFromDriverValue(value) {
|
|
60
|
+
return BigInt(value);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function bigint(name, config) {
|
|
64
|
+
if (config.mode === 'number') {
|
|
65
|
+
return new MySqlBigInt53Builder(name);
|
|
66
|
+
}
|
|
67
|
+
return new MySqlBigInt64Builder(name);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
class MySqlBinaryBuilder extends MySqlColumnBuilder {
|
|
71
|
+
constructor(name, length) {
|
|
72
|
+
super(name);
|
|
73
|
+
this.config.length = length;
|
|
74
|
+
}
|
|
75
|
+
/** @internal */
|
|
76
|
+
build(table) {
|
|
77
|
+
return new MySqlBinary(table, this.config);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
class MySqlBinary extends MySqlColumn {
|
|
81
|
+
constructor() {
|
|
82
|
+
super(...arguments);
|
|
83
|
+
this.length = this.config.length;
|
|
84
|
+
}
|
|
85
|
+
getSQLType() {
|
|
86
|
+
return this.length === undefined ? `binary` : `binary(${this.length})`;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function binary(name, config = {}) {
|
|
90
|
+
return new MySqlBinaryBuilder(name, config.length);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
class MySqlBooleanBuilder extends MySqlColumnBuilder {
|
|
94
|
+
/** @internal */
|
|
95
|
+
build(table) {
|
|
96
|
+
return new MySqlBoolean(table, this.config);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
class MySqlBoolean extends MySqlColumn {
|
|
100
|
+
getSQLType() {
|
|
101
|
+
return 'boolean';
|
|
102
|
+
}
|
|
103
|
+
mapFromDriverValue(value) {
|
|
104
|
+
if (typeof value === 'boolean') {
|
|
105
|
+
return value;
|
|
106
|
+
}
|
|
107
|
+
return value === 1;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function boolean(name) {
|
|
111
|
+
return new MySqlBooleanBuilder(name);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
class MySqlCharBuilder extends MySqlColumnBuilder {
|
|
115
|
+
constructor(name, config) {
|
|
116
|
+
super(name);
|
|
117
|
+
this.config.length = config.length;
|
|
118
|
+
this.config.enum = config.enum;
|
|
119
|
+
}
|
|
120
|
+
/** @internal */
|
|
121
|
+
build(table) {
|
|
122
|
+
return new MySqlChar(table, this.config);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
class MySqlChar extends MySqlColumn {
|
|
126
|
+
constructor() {
|
|
127
|
+
super(...arguments);
|
|
128
|
+
this.length = this.config.length;
|
|
129
|
+
this.enumValues = (this.config.enum ?? []);
|
|
130
|
+
}
|
|
131
|
+
getSQLType() {
|
|
132
|
+
return this.length === undefined ? `char` : `char(${this.length})`;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
function char(name, config = {}) {
|
|
136
|
+
return new MySqlCharBuilder(name, config);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
class MySqlCustomColumnBuilder extends MySqlColumnBuilder {
|
|
140
|
+
constructor(name, fieldConfig, customTypeParams) {
|
|
141
|
+
super(name);
|
|
142
|
+
this.config.fieldConfig = fieldConfig;
|
|
143
|
+
this.config.customTypeParams = customTypeParams;
|
|
144
|
+
}
|
|
145
|
+
/** @internal */
|
|
146
|
+
build(table) {
|
|
147
|
+
return new MySqlCustomColumn(table, this.config);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
class MySqlCustomColumn extends MySqlColumn {
|
|
151
|
+
constructor(table, config) {
|
|
152
|
+
super(table, config);
|
|
153
|
+
this.sqlName = config.customTypeParams.dataType(config.fieldConfig);
|
|
154
|
+
this.mapTo = config.customTypeParams.toDriver;
|
|
155
|
+
this.mapFrom = config.customTypeParams.fromDriver;
|
|
156
|
+
}
|
|
157
|
+
getSQLType() {
|
|
158
|
+
return this.sqlName;
|
|
159
|
+
}
|
|
160
|
+
mapFromDriverValue(value) {
|
|
161
|
+
return typeof this.mapFrom === 'function' ? this.mapFrom(value) : value;
|
|
162
|
+
}
|
|
163
|
+
mapToDriverValue(value) {
|
|
164
|
+
return typeof this.mapTo === 'function' ? this.mapTo(value) : value;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Custom mysql database data type generator
|
|
169
|
+
*/
|
|
170
|
+
function customType(customTypeParams) {
|
|
171
|
+
return (dbName, fieldConfig) => {
|
|
172
|
+
return new MySqlCustomColumnBuilder(dbName, fieldConfig, customTypeParams);
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
class MySqlDateBuilder extends MySqlColumnBuilder {
|
|
177
|
+
/** @internal */
|
|
178
|
+
build(table) {
|
|
179
|
+
return new MySqlDate(table, this.config);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
class MySqlDate extends MySqlColumn {
|
|
183
|
+
constructor(table, config) {
|
|
184
|
+
super(table, config);
|
|
185
|
+
}
|
|
186
|
+
getSQLType() {
|
|
187
|
+
return `date`;
|
|
188
|
+
}
|
|
189
|
+
mapFromDriverValue(value) {
|
|
190
|
+
return new Date(value);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
class MySqlDateStringBuilder extends MySqlColumnBuilder {
|
|
194
|
+
/** @internal */
|
|
195
|
+
build(table) {
|
|
196
|
+
return new MySqlDateString(table, this.config);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
class MySqlDateString extends MySqlColumn {
|
|
200
|
+
constructor(table, config) {
|
|
201
|
+
super(table, config);
|
|
202
|
+
}
|
|
203
|
+
getSQLType() {
|
|
204
|
+
return `date`;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
function date(name, config = {}) {
|
|
208
|
+
if (config.mode === 'string') {
|
|
209
|
+
return new MySqlDateStringBuilder(name);
|
|
210
|
+
}
|
|
211
|
+
return new MySqlDateBuilder(name);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
class MySqlDateTimeBuilder extends MySqlColumnBuilder {
|
|
215
|
+
constructor(name, config) {
|
|
216
|
+
super(name);
|
|
217
|
+
this.config.fsp = config?.fsp;
|
|
218
|
+
}
|
|
219
|
+
/** @internal */
|
|
220
|
+
build(table) {
|
|
221
|
+
return new MySqlDateTime(table, this.config);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
class MySqlDateTime extends MySqlColumn {
|
|
225
|
+
constructor(table, config) {
|
|
226
|
+
super(table, config);
|
|
227
|
+
this.fsp = config.fsp;
|
|
228
|
+
}
|
|
229
|
+
getSQLType() {
|
|
230
|
+
const precision = this.fsp === undefined ? '' : `(${this.fsp})`;
|
|
231
|
+
return `datetime${precision}`;
|
|
232
|
+
}
|
|
233
|
+
mapFromDriverValue(value) {
|
|
234
|
+
return new Date(value);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
class MySqlDateTimeStringBuilder extends MySqlColumnBuilder {
|
|
238
|
+
constructor(name, config) {
|
|
239
|
+
super(name);
|
|
240
|
+
this.config.fsp = config?.fsp;
|
|
241
|
+
}
|
|
242
|
+
/** @internal */
|
|
243
|
+
build(table) {
|
|
244
|
+
return new MySqlDateTimeString(table, this.config);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
class MySqlDateTimeString extends MySqlColumn {
|
|
248
|
+
constructor(table, config) {
|
|
249
|
+
super(table, config);
|
|
250
|
+
this.fsp = config.fsp;
|
|
251
|
+
}
|
|
252
|
+
getSQLType() {
|
|
253
|
+
const precision = this.fsp === undefined ? '' : `(${this.fsp})`;
|
|
254
|
+
return `datetime${precision}`;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
function datetime(name, config = {}) {
|
|
258
|
+
if (config.mode === 'string') {
|
|
259
|
+
return new MySqlDateTimeStringBuilder(name, config);
|
|
260
|
+
}
|
|
261
|
+
return new MySqlDateTimeBuilder(name, config);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
class MySqlDecimalBuilder extends MySqlColumnBuilderWithAutoIncrement {
|
|
265
|
+
constructor(name, precision, scale) {
|
|
266
|
+
super(name);
|
|
267
|
+
this.config.precision = precision;
|
|
268
|
+
this.config.scale = scale;
|
|
269
|
+
}
|
|
270
|
+
/** @internal */
|
|
271
|
+
build(table) {
|
|
272
|
+
return new MySqlDecimal(table, this.config);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
class MySqlDecimal extends MySqlColumnWithAutoIncrement {
|
|
276
|
+
constructor() {
|
|
277
|
+
super(...arguments);
|
|
278
|
+
this.precision = this.config.precision;
|
|
279
|
+
this.scale = this.config.scale;
|
|
280
|
+
}
|
|
281
|
+
getSQLType() {
|
|
282
|
+
if (this.precision !== undefined && this.scale !== undefined) {
|
|
283
|
+
return `decimal(${this.precision},${this.scale})`;
|
|
284
|
+
}
|
|
285
|
+
else if (this.precision === undefined) {
|
|
286
|
+
return 'decimal';
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
return `decimal(${this.precision})`;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
function decimal(name, config = {}) {
|
|
294
|
+
return new MySqlDecimalBuilder(name, config.precision, config.scale);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
class MySqlDoubleBuilder extends MySqlColumnBuilderWithAutoIncrement {
|
|
298
|
+
constructor(name, config) {
|
|
299
|
+
super(name);
|
|
300
|
+
this.config.precision = config?.precision;
|
|
301
|
+
this.config.scale = config?.scale;
|
|
302
|
+
}
|
|
303
|
+
/** @internal */
|
|
304
|
+
build(table) {
|
|
305
|
+
return new MySqlDouble(table, this.config);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
class MySqlDouble extends MySqlColumnWithAutoIncrement {
|
|
309
|
+
constructor() {
|
|
310
|
+
super(...arguments);
|
|
311
|
+
this.precision = this.config.precision;
|
|
312
|
+
this.scale = this.config.scale;
|
|
313
|
+
}
|
|
314
|
+
getSQLType() {
|
|
315
|
+
if (this.precision !== undefined && this.scale !== undefined) {
|
|
316
|
+
return `double(${this.precision},${this.scale})`;
|
|
317
|
+
}
|
|
318
|
+
else if (this.precision === undefined) {
|
|
319
|
+
return 'double';
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
return `double(${this.precision})`;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
function double(name, config) {
|
|
327
|
+
return new MySqlDoubleBuilder(name, config);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
class MySqlEnumColumnBuilder extends MySqlColumnBuilder {
|
|
331
|
+
constructor(name, values) {
|
|
332
|
+
super(name);
|
|
333
|
+
this.config.enumValues = values;
|
|
334
|
+
}
|
|
335
|
+
/** @internal */
|
|
336
|
+
build(table) {
|
|
337
|
+
return new MySqlEnumColumn(table, this.config);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
class MySqlEnumColumn extends MySqlColumn {
|
|
341
|
+
constructor() {
|
|
342
|
+
super(...arguments);
|
|
343
|
+
this.enumValues = this.config.enumValues;
|
|
344
|
+
}
|
|
345
|
+
getSQLType() {
|
|
346
|
+
return `enum(${this.enumValues.map((value) => `'${value}'`).join(',')})`;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
function mysqlEnum(name, values) {
|
|
350
|
+
if (values.length === 0) {
|
|
351
|
+
throw new Error(`You have an empty array for "${name}" enum values`);
|
|
352
|
+
}
|
|
353
|
+
return new MySqlEnumColumnBuilder(name, values);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
class MySqlFloatBuilder extends MySqlColumnBuilderWithAutoIncrement {
|
|
357
|
+
/** @internal */
|
|
358
|
+
build(table) {
|
|
359
|
+
return new MySqlFloat(table, this.config);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
class MySqlFloat extends MySqlColumnWithAutoIncrement {
|
|
363
|
+
getSQLType() {
|
|
364
|
+
return 'float';
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
function float(name) {
|
|
368
|
+
return new MySqlFloatBuilder(name);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
class MySqlIntBuilder extends MySqlColumnBuilderWithAutoIncrement {
|
|
372
|
+
/** @internal */
|
|
373
|
+
build(table) {
|
|
374
|
+
return new MySqlInt(table, this.config);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
class MySqlInt extends MySqlColumnWithAutoIncrement {
|
|
378
|
+
getSQLType() {
|
|
379
|
+
return 'int';
|
|
380
|
+
}
|
|
381
|
+
mapFromDriverValue(value) {
|
|
382
|
+
if (typeof value === 'string') {
|
|
383
|
+
return Number(value);
|
|
384
|
+
}
|
|
385
|
+
return value;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
function int(name) {
|
|
389
|
+
return new MySqlIntBuilder(name);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
class MySqlJsonBuilder extends MySqlColumnBuilder {
|
|
393
|
+
/** @internal */
|
|
394
|
+
build(table) {
|
|
395
|
+
return new MySqlJson(table, this.config);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
class MySqlJson extends MySqlColumn {
|
|
399
|
+
getSQLType() {
|
|
400
|
+
return 'json';
|
|
401
|
+
}
|
|
402
|
+
mapToDriverValue(value) {
|
|
403
|
+
return JSON.stringify(value);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
function json(name) {
|
|
407
|
+
return new MySqlJsonBuilder(name);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
class MySqlMediumIntBuilder extends MySqlColumnBuilderWithAutoIncrement {
|
|
411
|
+
/** @internal */
|
|
412
|
+
build(table) {
|
|
413
|
+
return new MySqlMediumInt(table, this.config);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
class MySqlMediumInt extends MySqlColumnWithAutoIncrement {
|
|
417
|
+
getSQLType() {
|
|
418
|
+
return 'mediumint';
|
|
419
|
+
}
|
|
420
|
+
mapFromDriverValue(value) {
|
|
421
|
+
if (typeof value === 'string') {
|
|
422
|
+
return Number(value);
|
|
423
|
+
}
|
|
424
|
+
return value;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
function mediumint(name) {
|
|
428
|
+
return new MySqlMediumIntBuilder(name);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
class MySqlRealBuilder extends MySqlColumnBuilderWithAutoIncrement {
|
|
432
|
+
constructor(name, config) {
|
|
433
|
+
super(name);
|
|
434
|
+
this.config.precision = config?.precision;
|
|
435
|
+
this.config.scale = config?.scale;
|
|
436
|
+
}
|
|
437
|
+
/** @internal */
|
|
438
|
+
build(table) {
|
|
439
|
+
return new MySqlReal(table, this.config);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
class MySqlReal extends MySqlColumnWithAutoIncrement {
|
|
443
|
+
constructor() {
|
|
444
|
+
super(...arguments);
|
|
445
|
+
this.precision = this.config.precision;
|
|
446
|
+
this.scale = this.config.scale;
|
|
447
|
+
}
|
|
448
|
+
getSQLType() {
|
|
449
|
+
if (this.precision !== undefined && this.scale !== undefined) {
|
|
450
|
+
return `real(${this.precision}, ${this.scale})`;
|
|
451
|
+
}
|
|
452
|
+
else if (this.precision === undefined) {
|
|
453
|
+
return 'real';
|
|
454
|
+
}
|
|
455
|
+
else {
|
|
456
|
+
return `real(${this.precision})`;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
function real(name, config = {}) {
|
|
461
|
+
return new MySqlRealBuilder(name, config);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
class MySqlSerialBuilder extends MySqlColumnBuilderWithAutoIncrement {
|
|
465
|
+
constructor(name) {
|
|
466
|
+
super(name);
|
|
467
|
+
this.config.hasDefault = true;
|
|
468
|
+
this.config.autoIncrement = true;
|
|
469
|
+
}
|
|
470
|
+
/** @internal */
|
|
471
|
+
build(table) {
|
|
472
|
+
return new MySqlSerial(table, this.config);
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
class MySqlSerial extends MySqlColumnWithAutoIncrement {
|
|
476
|
+
getSQLType() {
|
|
477
|
+
return 'serial';
|
|
478
|
+
}
|
|
479
|
+
mapFromDriverValue(value) {
|
|
480
|
+
if (typeof value === 'string') {
|
|
481
|
+
return Number(value);
|
|
482
|
+
}
|
|
483
|
+
return value;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
function serial(name) {
|
|
487
|
+
return new MySqlSerialBuilder(name);
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
class MySqlSmallIntBuilder extends MySqlColumnBuilderWithAutoIncrement {
|
|
491
|
+
/** @internal */
|
|
492
|
+
build(table) {
|
|
493
|
+
return new MySqlSmallInt(table, this.config);
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
class MySqlSmallInt extends MySqlColumnWithAutoIncrement {
|
|
497
|
+
getSQLType() {
|
|
498
|
+
return 'smallint';
|
|
499
|
+
}
|
|
500
|
+
mapFromDriverValue(value) {
|
|
501
|
+
if (typeof value === 'string') {
|
|
502
|
+
return Number(value);
|
|
503
|
+
}
|
|
504
|
+
return value;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
function smallint(name) {
|
|
508
|
+
return new MySqlSmallIntBuilder(name);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
class MySqlTextBuilder extends MySqlColumnBuilder {
|
|
512
|
+
constructor(name, textType, config) {
|
|
513
|
+
super(name);
|
|
514
|
+
this.config.textType = textType;
|
|
515
|
+
this.config.enumValues = config.enum;
|
|
516
|
+
}
|
|
517
|
+
/** @internal */
|
|
518
|
+
build(table) {
|
|
519
|
+
return new MySqlText(table, this.config);
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
class MySqlText extends MySqlColumn {
|
|
523
|
+
constructor() {
|
|
524
|
+
super(...arguments);
|
|
525
|
+
this.textType = this.config.textType;
|
|
526
|
+
this.enumValues = (this.config.enumValues ?? []);
|
|
527
|
+
}
|
|
528
|
+
getSQLType() {
|
|
529
|
+
return this.textType;
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
function text(name, config = {}) {
|
|
533
|
+
return new MySqlTextBuilder(name, 'text', config);
|
|
534
|
+
}
|
|
535
|
+
function tinytext(name, config = {}) {
|
|
536
|
+
return new MySqlTextBuilder(name, 'tinytext', config);
|
|
537
|
+
}
|
|
538
|
+
function mediumtext(name, config = {}) {
|
|
539
|
+
return new MySqlTextBuilder(name, 'mediumtext', config);
|
|
540
|
+
}
|
|
541
|
+
function longtext(name, config = {}) {
|
|
542
|
+
return new MySqlTextBuilder(name, 'longtext', config);
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
class MySqlTimeBuilder extends MySqlColumnBuilder {
|
|
546
|
+
constructor(name, config) {
|
|
547
|
+
super(name);
|
|
548
|
+
this.config.fsp = config?.fsp;
|
|
549
|
+
}
|
|
550
|
+
/** @internal */
|
|
551
|
+
build(table) {
|
|
552
|
+
return new MySqlTime(table, this.config);
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
class MySqlTime extends MySqlColumn {
|
|
556
|
+
constructor() {
|
|
557
|
+
super(...arguments);
|
|
558
|
+
this.fsp = this.config.fsp;
|
|
559
|
+
}
|
|
560
|
+
getSQLType() {
|
|
561
|
+
const precision = this.fsp === undefined ? '' : `(${this.fsp})`;
|
|
562
|
+
return `time${precision}`;
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
function time(name, config) {
|
|
566
|
+
return new MySqlTimeBuilder(name, config);
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
class MySqlDateColumnBaseBuilder extends MySqlColumnBuilder {
|
|
570
|
+
defaultNow() {
|
|
571
|
+
return this.default(sql `(now())`);
|
|
572
|
+
}
|
|
573
|
+
// "on update now" also adds an implicit default value to the column - https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html
|
|
574
|
+
onUpdateNow() {
|
|
575
|
+
this.config.hasOnUpdateNow = true;
|
|
576
|
+
this.config.hasDefault = true;
|
|
577
|
+
return this;
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
class MySqlDateBaseColumn extends MySqlColumn {
|
|
581
|
+
constructor() {
|
|
582
|
+
super(...arguments);
|
|
583
|
+
this.hasOnUpdateNow = this.config.hasOnUpdateNow;
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
class MySqlTimestampBuilder extends MySqlDateColumnBaseBuilder {
|
|
588
|
+
constructor(name, config) {
|
|
589
|
+
super(name);
|
|
590
|
+
this.config.fsp = config?.fsp;
|
|
591
|
+
}
|
|
592
|
+
/** @internal */
|
|
593
|
+
build(table) {
|
|
594
|
+
return new MySqlTimestamp(table, this.config);
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
class MySqlTimestamp extends MySqlDateBaseColumn {
|
|
598
|
+
constructor() {
|
|
599
|
+
super(...arguments);
|
|
600
|
+
this.fsp = this.config.fsp;
|
|
601
|
+
}
|
|
602
|
+
getSQLType() {
|
|
603
|
+
const precision = this.fsp === undefined ? '' : `(${this.fsp})`;
|
|
604
|
+
return `timestamp${precision}`;
|
|
605
|
+
}
|
|
606
|
+
mapFromDriverValue(value) {
|
|
607
|
+
return new Date(value + '+0000');
|
|
608
|
+
}
|
|
609
|
+
mapToDriverValue(value) {
|
|
610
|
+
return value.toISOString().slice(0, 19).replace('T', ' ');
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
class MySqlTimestampStringBuilder extends MySqlDateColumnBaseBuilder {
|
|
614
|
+
constructor(name, config) {
|
|
615
|
+
super(name);
|
|
616
|
+
this.config.fsp = config?.fsp;
|
|
617
|
+
}
|
|
618
|
+
/** @internal */
|
|
619
|
+
build(table) {
|
|
620
|
+
return new MySqlTimestampString(table, this.config);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
class MySqlTimestampString extends MySqlDateBaseColumn {
|
|
624
|
+
constructor() {
|
|
625
|
+
super(...arguments);
|
|
626
|
+
this.fsp = this.config.fsp;
|
|
627
|
+
}
|
|
628
|
+
getSQLType() {
|
|
629
|
+
const precision = this.fsp === undefined ? '' : `(${this.fsp})`;
|
|
630
|
+
return `timestamp${precision}`;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
function timestamp(name, config = {}) {
|
|
634
|
+
if (config.mode === 'string') {
|
|
635
|
+
return new MySqlTimestampStringBuilder(name, config);
|
|
636
|
+
}
|
|
637
|
+
return new MySqlTimestampBuilder(name, config);
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
class MySqlTinyIntBuilder extends MySqlColumnBuilderWithAutoIncrement {
|
|
641
|
+
/** @internal */
|
|
642
|
+
build(table) {
|
|
643
|
+
return new MySqlTinyInt(table, this.config);
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
class MySqlTinyInt extends MySqlColumnWithAutoIncrement {
|
|
647
|
+
getSQLType() {
|
|
648
|
+
return 'tinyint';
|
|
649
|
+
}
|
|
650
|
+
mapFromDriverValue(value) {
|
|
651
|
+
if (typeof value === 'string') {
|
|
652
|
+
return Number(value);
|
|
653
|
+
}
|
|
654
|
+
return value;
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
function tinyint(name) {
|
|
658
|
+
return new MySqlTinyIntBuilder(name);
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
class MySqlVarBinaryBuilder extends MySqlColumnBuilder {
|
|
662
|
+
/** @internal */
|
|
663
|
+
constructor(name, config) {
|
|
664
|
+
super(name);
|
|
665
|
+
this.config.length = config?.length;
|
|
666
|
+
}
|
|
667
|
+
/** @internal */
|
|
668
|
+
build(table) {
|
|
669
|
+
return new MySqlVarBinary(table, this.config);
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
class MySqlVarBinary extends MySqlColumn {
|
|
673
|
+
constructor() {
|
|
674
|
+
super(...arguments);
|
|
675
|
+
this.length = this.config.length;
|
|
676
|
+
}
|
|
677
|
+
getSQLType() {
|
|
678
|
+
return this.length === undefined ? `varbinary` : `varbinary(${this.length})`;
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
function varbinary(name, options) {
|
|
682
|
+
return new MySqlVarBinaryBuilder(name, options);
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
class MySqlVarCharBuilder extends MySqlColumnBuilder {
|
|
686
|
+
/** @internal */
|
|
687
|
+
constructor(name, config) {
|
|
688
|
+
super(name);
|
|
689
|
+
this.config.length = config.length;
|
|
690
|
+
this.config.enum = config.enum;
|
|
691
|
+
}
|
|
692
|
+
/** @internal */
|
|
693
|
+
build(table) {
|
|
694
|
+
return new MySqlVarChar(table, this.config);
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
class MySqlVarChar extends MySqlColumn {
|
|
698
|
+
constructor() {
|
|
699
|
+
super(...arguments);
|
|
700
|
+
this.length = this.config.length;
|
|
701
|
+
this.enumValues = (this.config.enum ?? []);
|
|
702
|
+
}
|
|
703
|
+
getSQLType() {
|
|
704
|
+
return this.length === undefined ? `varchar` : `varchar(${this.length})`;
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
function varchar(name, config) {
|
|
708
|
+
return new MySqlVarCharBuilder(name, config);
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
class MySqlYearBuilder extends MySqlColumnBuilder {
|
|
712
|
+
/** @internal */
|
|
713
|
+
build(table) {
|
|
714
|
+
return new MySqlYear(table, this.config);
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
class MySqlYear extends MySqlColumn {
|
|
718
|
+
getSQLType() {
|
|
719
|
+
return `year`;
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
function year(name) {
|
|
723
|
+
return new MySqlYearBuilder(name);
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
class IndexBuilderOn {
|
|
727
|
+
constructor(name, unique) {
|
|
728
|
+
this.name = name;
|
|
729
|
+
this.unique = unique;
|
|
730
|
+
}
|
|
731
|
+
on(...columns) {
|
|
732
|
+
return new IndexBuilder(this.name, columns, this.unique);
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
class IndexBuilder {
|
|
736
|
+
constructor(name, columns, unique) {
|
|
737
|
+
this.config = {
|
|
738
|
+
name,
|
|
739
|
+
columns,
|
|
740
|
+
unique,
|
|
741
|
+
};
|
|
742
|
+
}
|
|
743
|
+
using(using) {
|
|
744
|
+
this.config.using = using;
|
|
745
|
+
return this;
|
|
746
|
+
}
|
|
747
|
+
algorythm(algorythm) {
|
|
748
|
+
this.config.algorythm = algorythm;
|
|
749
|
+
return this;
|
|
750
|
+
}
|
|
751
|
+
lock(lock) {
|
|
752
|
+
this.config.lock = lock;
|
|
753
|
+
return this;
|
|
754
|
+
}
|
|
755
|
+
/** @internal */
|
|
756
|
+
build(table) {
|
|
757
|
+
return new Index(this.config, table);
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
class Index {
|
|
761
|
+
constructor(config, table) {
|
|
762
|
+
this.config = { ...config, table };
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
function index(name) {
|
|
766
|
+
return new IndexBuilderOn(name, false);
|
|
767
|
+
}
|
|
768
|
+
function uniqueIndex(name) {
|
|
769
|
+
return new IndexBuilderOn(name, true);
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
function primaryKey(...columns) {
|
|
773
|
+
return new PrimaryKeyBuilder(columns);
|
|
774
|
+
}
|
|
775
|
+
class PrimaryKeyBuilder {
|
|
776
|
+
constructor(columns) {
|
|
777
|
+
this.columns = columns;
|
|
778
|
+
}
|
|
779
|
+
/** @internal */
|
|
780
|
+
build(table) {
|
|
781
|
+
return new PrimaryKey(table, this.columns);
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
class PrimaryKey {
|
|
785
|
+
constructor(table, columns) {
|
|
786
|
+
this.table = table;
|
|
787
|
+
this.columns = columns;
|
|
788
|
+
}
|
|
789
|
+
getName() {
|
|
790
|
+
return `${this.table[MySqlTable.Symbol.Name]}_${this.columns.map((column) => column.name).join('_')}_pk`;
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
class MySqlSchema {
|
|
795
|
+
constructor(schemaName) {
|
|
796
|
+
this.schemaName = schemaName;
|
|
797
|
+
this.table = (name, columns, extraConfig) => {
|
|
798
|
+
return mysqlTableWithSchema(name, columns, extraConfig, this.schemaName);
|
|
799
|
+
};
|
|
800
|
+
this.view = ((name, columns) => {
|
|
801
|
+
return mysqlViewWithSchema(name, columns, this.schemaName);
|
|
802
|
+
});
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
/** @deprecated - use `instanceof MySqlSchema` */
|
|
806
|
+
function isMySqlSchema(obj) {
|
|
807
|
+
return obj instanceof MySqlSchema;
|
|
808
|
+
}
|
|
809
|
+
/**
|
|
810
|
+
* Create a MySQL schema.
|
|
811
|
+
* https://dev.mysql.com/doc/refman/8.0/en/create-database.html
|
|
812
|
+
*
|
|
813
|
+
* @param name mysql use schema name
|
|
814
|
+
* @returns MySQL schema
|
|
815
|
+
*/
|
|
816
|
+
function mysqlDatabase(name) {
|
|
817
|
+
return new MySqlSchema(name);
|
|
818
|
+
}
|
|
819
|
+
/**
|
|
820
|
+
* @see mysqlDatabase
|
|
821
|
+
*/
|
|
822
|
+
const mysqlSchema = mysqlDatabase;
|
|
823
|
+
|
|
824
|
+
function getTableConfig(table) {
|
|
825
|
+
const columns = Object.values(table[MySqlTable.Symbol.Columns]);
|
|
826
|
+
const indexes = [];
|
|
827
|
+
const checks = [];
|
|
828
|
+
const primaryKeys = [];
|
|
829
|
+
const foreignKeys = Object.values(table[MySqlTable.Symbol.InlineForeignKeys]);
|
|
830
|
+
const name = table[Table.Symbol.Name];
|
|
831
|
+
const schema = table[Table.Symbol.Schema];
|
|
832
|
+
const baseName = table[Table.Symbol.BaseName];
|
|
833
|
+
const extraConfigBuilder = table[MySqlTable.Symbol.ExtraConfigBuilder];
|
|
834
|
+
if (extraConfigBuilder !== undefined) {
|
|
835
|
+
const extraConfig = extraConfigBuilder(table[MySqlTable.Symbol.Columns]);
|
|
836
|
+
for (const builder of Object.values(extraConfig)) {
|
|
837
|
+
if (builder instanceof IndexBuilder) {
|
|
838
|
+
indexes.push(builder.build(table));
|
|
839
|
+
}
|
|
840
|
+
else if (builder instanceof CheckBuilder) {
|
|
841
|
+
checks.push(builder.build(table));
|
|
842
|
+
}
|
|
843
|
+
else if (builder instanceof PrimaryKeyBuilder) {
|
|
844
|
+
primaryKeys.push(builder.build(table));
|
|
845
|
+
}
|
|
846
|
+
else if (builder instanceof ForeignKeyBuilder) {
|
|
847
|
+
foreignKeys.push(builder.build(table));
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
return {
|
|
852
|
+
columns,
|
|
853
|
+
indexes,
|
|
854
|
+
foreignKeys,
|
|
855
|
+
checks,
|
|
856
|
+
primaryKeys,
|
|
857
|
+
name,
|
|
858
|
+
schema,
|
|
859
|
+
baseName,
|
|
860
|
+
};
|
|
861
|
+
}
|
|
862
|
+
function getViewConfig(view) {
|
|
863
|
+
return {
|
|
864
|
+
...view[ViewBaseConfig],
|
|
865
|
+
...view[MySqlViewConfig],
|
|
866
|
+
};
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
export { Check, CheckBuilder, ForeignKeyBuilder, Index, IndexBuilder, IndexBuilderOn, MySqlBigInt53, MySqlBigInt53Builder, MySqlBigInt64, MySqlBigInt64Builder, MySqlBinary, MySqlBinaryBuilder, MySqlBoolean, MySqlBooleanBuilder, MySqlChar, MySqlCharBuilder, MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement, MySqlCustomColumn, MySqlCustomColumnBuilder, MySqlDate, MySqlDateBuilder, MySqlDateString, MySqlDateStringBuilder, MySqlDateTime, MySqlDateTimeBuilder, MySqlDateTimeString, MySqlDateTimeStringBuilder, MySqlDecimal, MySqlDecimalBuilder, MySqlDouble, MySqlDoubleBuilder, MySqlEnumColumn, MySqlEnumColumnBuilder, MySqlFloat, MySqlFloatBuilder, MySqlInt, MySqlIntBuilder, MySqlJson, MySqlJsonBuilder, MySqlMediumInt, MySqlMediumIntBuilder, MySqlReal, MySqlRealBuilder, MySqlSchema, MySqlSerial, MySqlSerialBuilder, MySqlSmallInt, MySqlSmallIntBuilder, MySqlTable, MySqlText, MySqlTextBuilder, MySqlTime, MySqlTimeBuilder, MySqlTimestamp, MySqlTimestampBuilder, MySqlTimestampString, MySqlTimestampStringBuilder, MySqlTinyInt, MySqlTinyIntBuilder, MySqlVarBinary, MySqlVarBinaryBuilder, MySqlVarChar, MySqlVarCharBuilder, MySqlViewConfig, MySqlYear, MySqlYearBuilder, PrimaryKey, PrimaryKeyBuilder, alias, bigint, binary, boolean, char, check, customType, date, datetime, decimal, double, float, getTableConfig, getViewConfig, index, int, isMySqlSchema, json, longtext, mediumint, mediumtext, mysqlDatabase, mysqlEnum, mysqlSchema, mysqlTableWithSchema, mysqlViewWithSchema, primaryKey, real, serial, smallint, text, time, timestamp, tinyint, tinytext, uniqueIndex, varbinary, varchar, year };
|
|
2
870
|
//# sourceMappingURL=index.mjs.map
|