var nr=Object.defineProperty;var sr=(n,e,t)=>e in n?nr(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var s=(n,e,t)=>sr(n,typeof e!="symbol"?e+"":e,t);(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new n.Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="17092d9d-2cd8-4290-a138-cdd1e89082da",n._sentryDebugIdIdentifier="sentry-dbid-17092d9d-2cd8-4290-a138-cdd1e89082da")}catch{}})();const i=Symbol.for("drizzle:entityKind");function q(n,e){if(!n||typeof n!="object")return!1;if(n instanceof e)return!0;if(!Object.prototype.hasOwnProperty.call(e,i))throw new Error(`Class "${e.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let t=Object.getPrototypeOf(n).constructor;if(t)for(;t;){if(i in t&&t[i]===e[i])return!0;t=Object.getPrototypeOf(t)}return!1}var Z;Z=i;class Q{constructor(e,t){s(this,"name");s(this,"keyAsName");s(this,"primary");s(this,"notNull");s(this,"default");s(this,"defaultFn");s(this,"onUpdateFn");s(this,"hasDefault");s(this,"isUnique");s(this,"uniqueName");s(this,"uniqueType");s(this,"dataType");s(this,"columnType");s(this,"enumValues");s(this,"generated");s(this,"generatedIdentity");s(this,"config");this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}s(Q,Z,"Column");var G;G=i;class _n{constructor(e,t,r){s(this,"config");s(this,"$default",this.$defaultFn);s(this,"$onUpdate",this.$onUpdateFn);this.config={name:e,keyAsName:e==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:t,columnType:r,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){this.config.name===""&&(this.config.name=e)}}s(_n,G,"ColumnBuilder");const C=Symbol.for("drizzle:Name"),_=Symbol.for("drizzle:isPgEnum");function rr(n){return!!n&&typeof n=="function"&&_ in n&&n[_]===!0}var H;H=i;class U{constructor(e,t,r,o=!1){this._={brand:"Subquery",sql:e,selectedFields:t,alias:r,isWith:o}}}s(U,H,"Subquery");const ir={startActiveSpan(n,e){return e()}},N=Symbol.for("drizzle:ViewBaseConfig"),F=Symbol.for("drizzle:Schema"),J=Symbol.for("drizzle:Columns"),W=Symbol.for("drizzle:ExtraConfigColumns"),L=Symbol.for("drizzle:OriginalName"),$=Symbol.for("drizzle:BaseName"),Y=Symbol.for("drizzle:IsAlias"),R=Symbol.for("drizzle:ExtraConfigBuilder"),ar=Symbol.for("drizzle:IsDrizzleTable");var X,k,ee,te,ne,se,re,ie,ae,ue;ue=i,ae=C,ie=L,re=F,se=J,ne=W,te=$,ee=Y,k=ar,X=R;class S{constructor(e,t,r){s(this,ae);s(this,ie);s(this,re);s(this,se);s(this,ne);s(this,te);s(this,ee,!1);s(this,k,!0);s(this,X);this[C]=this[L]=e,this[F]=t,this[$]=r}}s(S,ue,"Table"),s(S,"Symbol",{Name:C,Schema:F,OriginalName:L,Columns:J,ExtraConfigColumns:W,BaseName:$,IsAlias:Y,ExtraConfigBuilder:R});function ur(n){return n!=null&&typeof n.getSQL=="function"}function or(n){var t;const e={sql:"",params:[]};for(const r of n)e.sql+=r.sql,e.params.push(...r.params),(t=r.typings)!=null&&t.length&&(e.typings||(e.typings=[]),e.typings.push(...r.typings));return e}var oe;oe=i;class b{constructor(e){s(this,"value");this.value=Array.isArray(e)?e:[e]}getSQL(){return new h([this])}}s(b,oe,"StringChunk");var le;le=i;const D=class D{constructor(e){s(this,"decoder",Jn);s(this,"shouldInlineParams",!1);this.queryChunks=e}append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return ir.startActiveSpan("drizzle.buildSQL",t=>{const r=this.buildQueryFromSourceParams(this.queryChunks,e);return t==null||t.setAttributes({"drizzle.query.text":r.sql,"drizzle.query.params":JSON.stringify(r.params)}),r})}buildQueryFromSourceParams(e,t){const r=Object.assign({},t,{inlineParams:t.inlineParams||this.shouldInlineParams,paramStartIndex:t.paramStartIndex||{value:0}}),{casing:o,escapeName:u,escapeParam:y,prepareTyping:p,inlineParams:l,paramStartIndex:g}=r;return or(e.map(a=>{var x;if(q(a,b))return{sql:a.value.join(""),params:[]};if(q(a,B))return{sql:u(a.value),params:[]};if(a===void 0)return{sql:"",params:[]};if(Array.isArray(a)){const c=[new b("(")];for(const[T,tr]of a.entries())c.push(tr),T<a.length-1&&c.push(new b(", "));return c.push(new b(")")),this.buildQueryFromSourceParams(c,r)}if(q(a,D))return this.buildQueryFromSourceParams(a.queryChunks,{...r,inlineParams:l||a.shouldInlineParams});if(q(a,S)){const c=a[S.Symbol.Schema],T=a[S.Symbol.Name];return{sql:c===void 0?u(T):u(c)+"."+u(T),params:[]}}if(q(a,Q)){const c=o.getColumnCasing(a);return t.invokeSource==="indexes"?{sql:u(c),params:[]}:{sql:u(a.table[S.Symbol.Name])+"."+u(c),params:[]}}if(q(a,Yn)){const c=a[N].schema,T=a[N].name;return{sql:c===void 0?u(T):u(c)+"."+u(T),params:[]}}if(q(a,A)){if(q(a.value,I))return{sql:y(g.value++,a),params:[a],typings:["none"]};const c=a.value===null?null:a.encoder.mapToDriverValue(a.value);if(q(c,D))return this.buildQueryFromSourceParams([c],r);if(l)return{sql:this.mapInlineParam(c,r),params:[]};let T=["none"];return p&&(T=[p(a.encoder)]),{sql:y(g.value++,c),params:[c],typings:T}}return q(a,I)?{sql:y(g.value++,a),params:[a],typings:["none"]}:q(a,D.Aliased)&&a.fieldAlias!==void 0?{sql:u(a.fieldAlias),params:[]}:q(a,U)?a._.isWith?{sql:u(a._.alias),params:[]}:this.buildQueryFromSourceParams([new b("("),a._.sql,new b(") "),new B(a._.alias)],r):rr(a)?a.schema?{sql:u(a.schema)+"."+u(a.enumName),params:[]}:{sql:u(a.enumName),params:[]}:ur(a)?(x=a.shouldOmitSQLParens)!=null&&x.call(a)?this.buildQueryFromSourceParams([a.getSQL()],r):this.buildQueryFromSourceParams([new b("("),a.getSQL(),new b(")")],r):l?{sql:this.mapInlineParam(a,r),params:[]}:{sql:y(g.value++,a),params:[a],typings:["none"]}}))}mapInlineParam(e,{escapeString:t}){if(e===null)return"null";if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="string")return t(e);if(typeof e=="object"){const r=e.toString();return t(r==="[object Object]"?JSON.stringify(e):r)}throw new Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return e===void 0?this:new D.Aliased(this,e)}mapWith(e){return this.decoder=typeof e=="function"?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}};s(D,le,"SQL");let h=D;var ce;ce=i;class B{constructor(e){s(this,"brand");this.value=e}getSQL(){return new h([this])}}s(B,ce,"Name");const Jn={mapFromDriverValue:n=>n},Wn={mapToDriverValue:n=>n};({...Jn,...Wn});var me;me=i;class A{constructor(e,t=Wn){s(this,"brand");this.value=e,this.encoder=t}getSQL(){return new h([this])}}s(A,me,"Param");function V(n,...e){const t=[];(e.length>0||n.length>0&&n[0]!=="")&&t.push(new b(n[0]));for(const[r,o]of e.entries())t.push(o,new b(n[r+1]));return new h(t)}(n=>{function e(){return new h([])}n.empty=e;function t(l){return new h(l)}n.fromList=t;function r(l){return new h([new b(l)])}n.raw=r;function o(l,g){const a=[];for(const[x,c]of l.entries())x>0&&g!==void 0&&a.push(g),a.push(c);return new h(a)}n.join=o;function u(l){return new B(l)}n.identifier=u;function y(l){return new I(l)}n.placeholder=y;function p(l,g){return new A(l,g)}n.param=p})(V||(V={}));(n=>{var t;t=i;const r=class r{constructor(u,y){s(this,"isSelectionField",!1);this.sql=u,this.fieldAlias=y}getSQL(){return this.sql}clone(){return new r(this.sql,this.fieldAlias)}};s(r,t,"SQL.Aliased");let e=r;n.Aliased=e})(h||(h={}));var de;de=i;class I{constructor(e){this.name=e}getSQL(){return new h([this])}}s(I,de,"Placeholder");var fe,pe;pe=i,fe=N;class Yn{constructor({name:e,schema:t,selectedFields:r,query:o}){s(this,fe);this[N]={name:e,originalName:e,schema:t,selectedFields:r,query:o,isExisting:!o,isAlias:!1}}getSQL(){return new h([this])}}s(Yn,pe,"View");Q.prototype.getSQL=function(){return new h([this])};S.prototype.getSQL=function(){return new h([this])};U.prototype.getSQL=function(){return new h([this])};function zr(n){return n[S.Symbol.Columns]}function m(n,e){return{name:typeof n=="string"&&n.length>0?n:"",config:typeof n=="object"?n:e}}var he;he=i;class O{constructor(e,t){s(this,"reference");s(this,"_onUpdate");s(this,"_onDelete");this.reference=()=>{const{name:r,columns:o,foreignColumns:u}=e();return{name:r,columns:o,foreignTable:u[0].table,foreignColumns:u}},t&&(this._onUpdate=t.onUpdate,this._onDelete=t.onDelete)}onUpdate(e){return this._onUpdate=e,this}onDelete(e){return this._onDelete=e,this}build(e){return new Rn(e,this)}}s(O,he,"MySqlForeignKeyBuilder");var ye;ye=i;class Rn{constructor(e,t){s(this,"reference");s(this,"onUpdate");s(this,"onDelete");this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}getName(){const{name:e,columns:t,foreignColumns:r}=this.reference(),o=t.map(p=>p.name),u=r.map(p=>p.name),y=[this.table[C],...o,r[0].table[C],...u];return e??`${y.join("_")}_fk`}}s(Rn,ye,"MySqlForeignKey");function Pr(n){function e(){const{name:t,columns:r,foreignColumns:o}=n;return{name:t,columns:r,foreignColumns:o}}return new O(e)}function Ur(n){return new Hn(n)}function Zn(n,e){return`${n[C]}_${e.join("_")}_unique`}var ge;ge=i;class Gn{constructor(e,t){s(this,"columns");this.name=t,this.columns=e}build(e){return new Xn(e,this.columns,this.name)}}s(Gn,ge,"MySqlUniqueConstraintBuilder");var Se;Se=i;class Hn{constructor(e){s(this,"name");this.name=e}on(...e){return new Gn(e,this.name)}}s(Hn,Se,"MySqlUniqueOnConstraintBuilder");var qe;qe=i;class Xn{constructor(e,t,r){s(this,"columns");s(this,"name");s(this,"nullsNotDistinct",!1);this.table=e,this.columns=t,this.name=r??Zn(this.table,this.columns.map(o=>o.name))}getName(){return this.name}}s(Xn,qe,"MySqlUniqueConstraint");var be,we;class d extends(we=_n,be=i,we){constructor(){super(...arguments);s(this,"foreignKeyConfigs",[])}references(t,r={}){return this.foreignKeyConfigs.push({ref:t,actions:r}),this}unique(t){return this.config.isUnique=!0,this.config.uniqueName=t,this}generatedAlwaysAs(t,r){return this.config.generated={as:t,type:"always",mode:(r==null?void 0:r.mode)??"virtual"},this}buildForeignKeys(t,r){return this.foreignKeyConfigs.map(({ref:o,actions:u})=>((y,p)=>{const l=new O(()=>{const g=y();return{columns:[t],foreignColumns:[g]}});return p.onUpdate&&l.onUpdate(p.onUpdate),p.onDelete&&l.onDelete(p.onDelete),l.build(r)})(o,u))}}s(d,be,"MySqlColumnBuilder");var Me,Te;class f extends(Te=Q,Me=i,Te){constructor(e,t){t.uniqueName||(t.uniqueName=Zn(e,[t.name])),super(e,t),this.table=e}}s(f,Me,"MySqlColumn");var xe,De;class w extends(De=d,xe=i,De){constructor(e,t,r){super(e,t,r),this.config.autoIncrement=!1}autoincrement(){return this.config.autoIncrement=!0,this.config.hasDefault=!0,this}}s(w,xe,"MySqlColumnBuilderWithAutoIncrement");var Ce,ve;class M extends(ve=f,Ce=i,ve){constructor(){super(...arguments);s(this,"autoIncrement",this.config.autoIncrement)}}s(M,Ce,"MySqlColumnWithAutoIncrement");var Ne,Be;class kn extends(Be=w,Ne=i,Be){constructor(e,t=!1){super(e,"number","MySqlBigInt53"),this.config.unsigned=t}build(e){return new es(e,this.config)}}s(kn,Ne,"MySqlBigInt53Builder");var Ie,Qe;class es extends(Qe=M,Ie=i,Qe){getSQLType(){return`bigint${this.config.unsigned?" unsigned":""}`}mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}}s(es,Ie,"MySqlBigInt53");var Fe,Le;class ts extends(Le=w,Fe=i,Le){constructor(e,t=!1){super(e,"bigint","MySqlBigInt64"),this.config.unsigned=t}build(e){return new ns(e,this.config)}}s(ts,Fe,"MySqlBigInt64Builder");var $e,Ve;class ns extends(Ve=M,$e=i,Ve){getSQLType(){return`bigint${this.config.unsigned?" unsigned":""}`}mapFromDriverValue(e){return BigInt(e)}}s(ns,$e,"MySqlBigInt64");function lr(n,e){const{name:t,config:r}=m(n,e);return r.mode==="number"?new kn(t,r.unsigned):new ts(t,r.unsigned)}var ze,Pe;class ss extends(Pe=d,ze=i,Pe){constructor(e,t){super(e,"string","MySqlBinary"),this.config.length=t}build(e){return new rs(e,this.config)}}s(ss,ze,"MySqlBinaryBuilder");var Ue,Ae;class rs extends(Ae=f,Ue=i,Ae){constructor(){super(...arguments);s(this,"length",this.config.length)}getSQLType(){return this.length===void 0?"binary":`binary(${this.length})`}}s(rs,Ue,"MySqlBinary");function cr(n,e={}){const{name:t,config:r}=m(n,e);return new ss(t,r.length)}var Oe,Ee;class is extends(Ee=d,Oe=i,Ee){constructor(e){super(e,"boolean","MySqlBoolean")}build(e){return new as(e,this.config)}}s(is,Oe,"MySqlBooleanBuilder");var je,Ke;class as extends(Ke=f,je=i,Ke){getSQLType(){return"boolean"}mapFromDriverValue(e){return typeof e=="boolean"?e:e===1}}s(as,je,"MySqlBoolean");function mr(n){return new is(n??"")}var _e,Je;class us extends(Je=d,_e=i,Je){constructor(e,t){super(e,"string","MySqlChar"),this.config.length=t.length,this.config.enum=t.enum}build(e){return new os(e,this.config)}}s(us,_e,"MySqlCharBuilder");var We,Ye;class os extends(Ye=f,We=i,Ye){constructor(){super(...arguments);s(this,"length",this.config.length);s(this,"enumValues",this.config.enum)}getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}s(os,We,"MySqlChar");function dr(n,e={}){const{name:t,config:r}=m(n,e);return new us(t,r)}var Re,Ze;class ls extends(Ze=d,Re=i,Ze){constructor(e,t,r){super(e,"custom","MySqlCustomColumn"),this.config.fieldConfig=t,this.config.customTypeParams=r}build(e){return new cs(e,this.config)}}s(ls,Re,"MySqlCustomColumnBuilder");var Ge,He;class cs extends(He=f,Ge=i,He){constructor(t,r){super(t,r);s(this,"sqlName");s(this,"mapTo");s(this,"mapFrom");this.sqlName=r.customTypeParams.dataType(r.fieldConfig),this.mapTo=r.customTypeParams.toDriver,this.mapFrom=r.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(t){return typeof this.mapFrom=="function"?this.mapFrom(t):t}mapToDriverValue(t){return typeof this.mapTo=="function"?this.mapTo(t):t}}s(cs,Ge,"MySqlCustomColumn");function fr(n){return(e,t)=>{const{name:r,config:o}=m(e,t);return new ls(r,o,n)}}var Xe,ke;class ms extends(ke=d,Xe=i,ke){constructor(e){super(e,"date","MySqlDate")}build(e){return new ds(e,this.config)}}s(ms,Xe,"MySqlDateBuilder");var et,tt;class ds extends(tt=f,et=i,tt){constructor(e,t){super(e,t)}getSQLType(){return"date"}mapFromDriverValue(e){return new Date(e)}}s(ds,et,"MySqlDate");var nt,st;class fs extends(st=d,nt=i,st){constructor(e){super(e,"string","MySqlDateString")}build(e){return new ps(e,this.config)}}s(fs,nt,"MySqlDateStringBuilder");var rt,it;class ps extends(it=f,rt=i,it){constructor(e,t){super(e,t)}getSQLType(){return"date"}}s(ps,rt,"MySqlDateString");function pr(n,e){const{name:t,config:r}=m(n,e);return(r==null?void 0:r.mode)==="string"?new fs(t):new ms(t)}var at,ut;class hs extends(ut=d,at=i,ut){constructor(e,t){super(e,"date","MySqlDateTime"),this.config.fsp=t==null?void 0:t.fsp}build(e){return new ys(e,this.config)}}s(hs,at,"MySqlDateTimeBuilder");var ot,lt;class ys extends(lt=f,ot=i,lt){constructor(t,r){super(t,r);s(this,"fsp");this.fsp=r.fsp}getSQLType(){return`datetime${this.fsp===void 0?"":`(${this.fsp})`}`}mapToDriverValue(t){return t.toISOString().replace("T"," ").replace("Z","")}mapFromDriverValue(t){return new Date(t.replace(" ","T")+"Z")}}s(ys,ot,"MySqlDateTime");var ct,mt;class gs extends(mt=d,ct=i,mt){constructor(e,t){super(e,"string","MySqlDateTimeString"),this.config.fsp=t==null?void 0:t.fsp}build(e){return new Ss(e,this.config)}}s(gs,ct,"MySqlDateTimeStringBuilder");var dt,ft;class Ss extends(ft=f,dt=i,ft){constructor(t,r){super(t,r);s(this,"fsp");this.fsp=r.fsp}getSQLType(){return`datetime${this.fsp===void 0?"":`(${this.fsp})`}`}}s(Ss,dt,"MySqlDateTimeString");function hr(n,e){const{name:t,config:r}=m(n,e);return(r==null?void 0:r.mode)==="string"?new gs(t,r):new hs(t,r)}var pt,ht;class qs extends(ht=w,pt=i,ht){constructor(e,t,r){super(e,"string","MySqlDecimal"),this.config.precision=t,this.config.scale=r}build(e){return new bs(e,this.config)}}s(qs,pt,"MySqlDecimalBuilder");var yt,gt;class bs extends(gt=M,yt=i,gt){constructor(){super(...arguments);s(this,"precision",this.config.precision);s(this,"scale",this.config.scale)}getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`decimal(${this.precision},${this.scale})`:this.precision===void 0?"decimal":`decimal(${this.precision})`}}s(bs,yt,"MySqlDecimal");function yr(n,e={}){const{name:t,config:r}=m(n,e);return new qs(t,r.precision,r.scale)}var St,qt;class ws extends(qt=w,St=i,qt){constructor(e,t){super(e,"number","MySqlDouble"),this.config.precision=t==null?void 0:t.precision,this.config.scale=t==null?void 0:t.scale}build(e){return new Ms(e,this.config)}}s(ws,St,"MySqlDoubleBuilder");var bt,wt;class Ms extends(wt=M,bt=i,wt){constructor(){super(...arguments);s(this,"precision",this.config.precision);s(this,"scale",this.config.scale)}getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`double(${this.precision},${this.scale})`:this.precision===void 0?"double":`double(${this.precision})`}}s(Ms,bt,"MySqlDouble");function gr(n,e){const{name:t,config:r}=m(n,e);return new ws(t,r)}var Mt,Tt;class Ts extends(Tt=d,Mt=i,Tt){constructor(e,t){super(e,"string","MySqlEnumColumn"),this.config.enumValues=t}build(e){return new xs(e,this.config)}}s(Ts,Mt,"MySqlEnumColumnBuilder");var xt,Dt;class xs extends(Dt=f,xt=i,Dt){constructor(){super(...arguments);s(this,"enumValues",this.config.enumValues)}getSQLType(){return`enum(${this.enumValues.map(t=>`'${t}'`).join(",")})`}}s(xs,xt,"MySqlEnumColumn");function Sr(n,e){const{name:t,config:r}=m(n,e);if(r.length===0)throw new Error(`You have an empty array for "${t}" enum values`);return new Ts(t,r)}var Ct,vt;class Ds extends(vt=w,Ct=i,vt){constructor(e){super(e,"number","MySqlFloat")}build(e){return new Cs(e,this.config)}}s(Ds,Ct,"MySqlFloatBuilder");var Nt,Bt;class Cs extends(Bt=M,Nt=i,Bt){getSQLType(){return"float"}}s(Cs,Nt,"MySqlFloat");function qr(n){return new Ds(n??"")}var It,Qt;class vs extends(Qt=w,It=i,Qt){constructor(e,t){super(e,"number","MySqlInt"),this.config.unsigned=t?t.unsigned:!1}build(e){return new Ns(e,this.config)}}s(vs,It,"MySqlIntBuilder");var Ft,Lt;class Ns extends(Lt=M,Ft=i,Lt){getSQLType(){return`int${this.config.unsigned?" unsigned":""}`}mapFromDriverValue(e){return typeof e=="string"?Number(e):e}}s(Ns,Ft,"MySqlInt");function br(n,e){const{name:t,config:r}=m(n,e);return new vs(t,r)}var $t,Vt;class Bs extends(Vt=d,$t=i,Vt){constructor(e){super(e,"json","MySqlJson")}build(e){return new Is(e,this.config)}}s(Bs,$t,"MySqlJsonBuilder");var zt,Pt;class Is extends(Pt=f,zt=i,Pt){getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}}s(Is,zt,"MySqlJson");function wr(n){return new Bs(n??"")}var Ut,At;class Qs extends(At=w,Ut=i,At){constructor(e,t){super(e,"number","MySqlMediumInt"),this.config.unsigned=t?t.unsigned:!1}build(e){return new Fs(e,this.config)}}s(Qs,Ut,"MySqlMediumIntBuilder");var Ot,Et;class Fs extends(Et=M,Ot=i,Et){getSQLType(){return`mediumint${this.config.unsigned?" unsigned":""}`}mapFromDriverValue(e){return typeof e=="string"?Number(e):e}}s(Fs,Ot,"MySqlMediumInt");function Mr(n,e){const{name:t,config:r}=m(n,e);return new Qs(t,r)}var jt,Kt;class Ls extends(Kt=w,jt=i,Kt){constructor(e,t){super(e,"number","MySqlReal"),this.config.precision=t==null?void 0:t.precision,this.config.scale=t==null?void 0:t.scale}build(e){return new $s(e,this.config)}}s(Ls,jt,"MySqlRealBuilder");var _t,Jt;class $s extends(Jt=M,_t=i,Jt){constructor(){super(...arguments);s(this,"precision",this.config.precision);s(this,"scale",this.config.scale)}getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`real(${this.precision}, ${this.scale})`:this.precision===void 0?"real":`real(${this.precision})`}}s($s,_t,"MySqlReal");function Tr(n,e={}){const{name:t,config:r}=m(n,e);return new Ls(t,r)}var Wt,Yt;class Vs extends(Yt=w,Wt=i,Yt){constructor(e){super(e,"number","MySqlSerial"),this.config.hasDefault=!0,this.config.autoIncrement=!0}build(e){return new zs(e,this.config)}}s(Vs,Wt,"MySqlSerialBuilder");var Rt,Zt;class zs extends(Zt=M,Rt=i,Zt){getSQLType(){return"serial"}mapFromDriverValue(e){return typeof e=="string"?Number(e):e}}s(zs,Rt,"MySqlSerial");function xr(n){return new Vs(n??"")}var Gt,Ht;class Ps extends(Ht=w,Gt=i,Ht){constructor(e,t){super(e,"number","MySqlSmallInt"),this.config.unsigned=t?t.unsigned:!1}build(e){return new Us(e,this.config)}}s(Ps,Gt,"MySqlSmallIntBuilder");var Xt,kt;class Us extends(kt=M,Xt=i,kt){getSQLType(){return`smallint${this.config.unsigned?" unsigned":""}`}mapFromDriverValue(e){return typeof e=="string"?Number(e):e}}s(Us,Xt,"MySqlSmallInt");function Dr(n,e){const{name:t,config:r}=m(n,e);return new Ps(t,r)}var en,tn;class E extends(tn=d,en=i,tn){constructor(e,t,r){super(e,"string","MySqlText"),this.config.textType=t,this.config.enumValues=r.enum}build(e){return new As(e,this.config)}}s(E,en,"MySqlTextBuilder");var nn,sn;class As extends(sn=f,nn=i,sn){constructor(){super(...arguments);s(this,"textType",this.config.textType);s(this,"enumValues",this.config.enumValues)}getSQLType(){return this.textType}}s(As,nn,"MySqlText");function Cr(n,e={}){const{name:t,config:r}=m(n,e);return new E(t,"text",r)}function Ar(n,e={}){const{name:t,config:r}=m(n,e);return new E(t,"longtext",r)}var rn,an;class Os extends(an=d,rn=i,an){constructor(e,t){super(e,"string","MySqlTime"),this.config.fsp=t==null?void 0:t.fsp}build(e){return new Es(e,this.config)}}s(Os,rn,"MySqlTimeBuilder");var un,on;class Es extends(on=f,un=i,on){constructor(){super(...arguments);s(this,"fsp",this.config.fsp)}getSQLType(){return`time${this.fsp===void 0?"":`(${this.fsp})`}`}}s(Es,un,"MySqlTime");function vr(n,e){const{name:t,config:r}=m(n,e);return new Os(t,r)}var ln,cn;class j extends(cn=d,ln=i,cn){defaultNow(){return this.default(V`(now())`)}onUpdateNow(){return this.config.hasOnUpdateNow=!0,this.config.hasDefault=!0,this}}s(j,ln,"MySqlDateColumnBuilder");var mn,dn;class K extends(dn=f,mn=i,dn){constructor(){super(...arguments);s(this,"hasOnUpdateNow",this.config.hasOnUpdateNow)}}s(K,mn,"MySqlDateColumn");var fn,pn;class js extends(pn=j,fn=i,pn){constructor(e,t){super(e,"date","MySqlTimestamp"),this.config.fsp=t==null?void 0:t.fsp}build(e){return new Ks(e,this.config)}}s(js,fn,"MySqlTimestampBuilder");var hn,yn;class Ks extends(yn=K,hn=i,yn){constructor(){super(...arguments);s(this,"fsp",this.config.fsp)}getSQLType(){return`timestamp${this.fsp===void 0?"":`(${this.fsp})`}`}mapFromDriverValue(t){return new Date(t+"+0000")}mapToDriverValue(t){return t.toISOString().slice(0,-1).replace("T"," ")}}s(Ks,hn,"MySqlTimestamp");var gn,Sn;class _s extends(Sn=j,gn=i,Sn){constructor(e,t){super(e,"string","MySqlTimestampString"),this.config.fsp=t==null?void 0:t.fsp}build(e){return new Js(e,this.config)}}s(_s,gn,"MySqlTimestampStringBuilder");var qn,bn;class Js extends(bn=K,qn=i,bn){constructor(){super(...arguments);s(this,"fsp",this.config.fsp)}getSQLType(){return`timestamp${this.fsp===void 0?"":`(${this.fsp})`}`}}s(Js,qn,"MySqlTimestampString");function Nr(n,e={}){const{name:t,config:r}=m(n,e);return(r==null?void 0:r.mode)==="string"?new _s(t,r):new js(t,r)}var wn,Mn;class Ws extends(Mn=w,wn=i,Mn){constructor(e,t){super(e,"number","MySqlTinyInt"),this.config.unsigned=t?t.unsigned:!1}build(e){return new Ys(e,this.config)}}s(Ws,wn,"MySqlTinyIntBuilder");var Tn,xn;class Ys extends(xn=M,Tn=i,xn){getSQLType(){return`tinyint${this.config.unsigned?" unsigned":""}`}mapFromDriverValue(e){return typeof e=="string"?Number(e):e}}s(Ys,Tn,"MySqlTinyInt");function Br(n,e){const{name:t,config:r}=m(n,e);return new Ws(t,r)}var Dn,Cn;class Rs extends(Cn=d,Dn=i,Cn){constructor(e,t){super(e,"string","MySqlVarBinary"),this.config.length=t==null?void 0:t.length}build(e){return new Zs(e,this.config)}}s(Rs,Dn,"MySqlVarBinaryBuilder");var vn,Nn;class Zs extends(Nn=f,vn=i,Nn){constructor(){super(...arguments);s(this,"length",this.config.length)}getSQLType(){return this.length===void 0?"varbinary":`varbinary(${this.length})`}}s(Zs,vn,"MySqlVarBinary");function Ir(n,e){const{name:t,config:r}=m(n,e);return new Rs(t,r)}var Bn,In;class Gs extends(In=d,Bn=i,In){constructor(e,t){super(e,"string","MySqlVarChar"),this.config.length=t.length,this.config.enum=t.enum}build(e){return new Hs(e,this.config)}}s(Gs,Bn,"MySqlVarCharBuilder");var Qn,Fn;class Hs extends(Fn=f,Qn=i,Fn){constructor(){super(...arguments);s(this,"length",this.config.length);s(this,"enumValues",this.config.enum)}getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}s(Hs,Qn,"MySqlVarChar");function Qr(n,e){const{name:t,config:r}=m(n,e);return new Gs(t,r)}var Ln,$n;class Xs extends($n=d,Ln=i,$n){constructor(e){super(e,"number","MySqlYear")}build(e){return new ks(e,this.config)}}s(Xs,Ln,"MySqlYearBuilder");var Vn,zn;class ks extends(zn=f,Vn=i,zn){getSQLType(){return"year"}}s(ks,Vn,"MySqlYear");function Fr(n){return new Xs(n??"")}function Lr(){return{bigint:lr,binary:cr,boolean:mr,char:dr,customType:fr,date:pr,datetime:hr,decimal:yr,double:gr,mysqlEnum:Sr,float:qr,int:br,json:wr,mediumint:Mr,real:Tr,serial:xr,smallint:Dr,text:Cr,time:vr,timestamp:Nr,tinyint:Br,varbinary:Ir,varchar:Qr,year:Fr}}const z=Symbol.for("drizzle:MySqlInlineForeignKeys");var Pn,Un,An,On,En;class v extends(En=S,On=i,An=S.Symbol.Columns,Un=z,Pn=S.Symbol.ExtraConfigBuilder,En){constructor(){super(...arguments);s(this,An);s(this,Un,[]);s(this,Pn)}}s(v,On,"MySqlTable"),s(v,"Symbol",Object.assign({},S.Symbol,{InlineForeignKeys:z}));function $r(n,e,t,r,o=n){const u=new v(n,r,o),y=typeof e=="function"?e(Lr()):e,p=Object.fromEntries(Object.entries(y).map(([g,a])=>{const x=a;x.setName(g);const c=x.build(u);return u[z].push(...x.buildForeignKeys(c,u)),[g,c]})),l=Object.assign(u,p);return l[S.Symbol.Columns]=p,l[S.Symbol.ExtraConfigColumns]=p,t&&(l[v.Symbol.ExtraConfigBuilder]=t),l}const Or=(n,e,t)=>$r(n,e,t,void 0,n);function Er(...n){return n[0].columns?new P(n[0].columns,n[0].name):new P(n)}var jn;jn=i;class P{constructor(e,t){s(this,"columns");s(this,"name");this.columns=e,this.name=t}build(e){return new er(e,this.columns,this.name)}}s(P,jn,"MySqlPrimaryKeyBuilder");var Kn;Kn=i;class er{constructor(e,t,r){s(this,"columns");s(this,"name");this.table=e,this.columns=t,this.name=r}getName(){return this.name??`${this.table[v.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}s(er,Kn,"MySqlPrimaryKey");export{Q as C,Hs as M,C as T,Zs as a,os as b,i as e,Pr as f,zr as g,q as i,Ar as l,Or as m,Er as p,V as s,Nr as t,Ur as u};
//# sourceMappingURL=primary-keys-xR5iod1n.js.map
