@ez4/pgmigration 0.42.0 → 0.43.0

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/dist/main.cjs CHANGED
@@ -1,142 +1,157 @@
1
- "use strict";var V=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ce=Object.prototype.hasOwnProperty;var p=(e,o)=>V(e,"name",{value:o,configurable:!0});var me=(e,o)=>{for(var g in o)V(e,g,{get:o[g],enumerable:!0})},pe=(e,o,g,y)=>{if(o&&
2
- typeof o=="object"||typeof o=="function")for(let d of ae(o))!ce.call(e,d)&&d!==g&&
3
- V(e,d,{get:()=>o[d],enumerable:!(y=ie(o,d))||y.enumerable});return e};var ue=e=>pe(V({},"__esModule",{value:!0}),e);var he={};me(he,{getCreateQueries:()=>oe,getDeleteQueries:()=>se,getUpdateQueries:()=>ye});
4
- module.exports=ue(he);var L=require("@ez4/pgsql");var B=require("@ez4/utils"),G=require("@ez4/pgclient/library"),J=require("@ez4/schema");var Y=p((e,o)=>(0,B.deepCompareObject)(e,o,{onRename:p((g,y)=>!(0,B.isAnyObject)(
5
- g)||!(0,B.isAnyObject)(y)?!1:(0,G.isTableMetadata)(g)&&(0,G.isTableMetadata)(y)?
6
- le(g.schema,y.schema):(0,J.isAnySchema)(g)&&(0,J.isAnySchema)(y)?de(g,y):!1,"onR\
7
- ename")}),"getTableRepositoryChanges"),le=p((e,o)=>(0,B.deepEqual)(Object.keys(e.
8
- properties),Object.keys(o.properties)),"canRenameTable"),de=p((e,o)=>(0,B.deepEqual)(
9
- e,o,{depth:1,include:{type:!0,definitions:!0,nullable:!0,format:!0}}),"canRename\
10
- Column");var C=require("@ez4/schema"),H=require("@ez4/utils");var R=p((e,o)=>{let[g]=e.select().rawColumn("1").from("pg_constraint").where({conname:e.
11
- rawString(o)}).build();return g},"getCheckConstraintQuery"),F=p((e,o,g)=>{let[y]=e.
1
+ "use strict";var K=Object.defineProperty;var ae=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var me=Object.prototype.hasOwnProperty;var m=(e,n)=>K(e,"name",{value:n,configurable:!0});var pe=(e,n)=>{for(var g in n)K(e,g,{get:n[g],enumerable:!0})},ue=(e,n,g,h)=>{if(n&&
2
+ typeof n=="object"||typeof n=="function")for(let l of ce(n))!me.call(e,l)&&l!==g&&
3
+ K(e,l,{get:()=>n[l],enumerable:!(h=ae(n,l))||h.enumerable});return e};var le=e=>ue(K({},"__esModule",{value:!0}),e);var xe={};pe(xe,{getCreateQueries:()=>se,getDeleteQueries:()=>ie,getUpdateQueries:()=>he});
4
+ module.exports=le(xe);var L=require("@ez4/pgsql");var P=require("@ez4/utils"),G=require("@ez4/pgclient/library"),J=require("@ez4/schema");var Z=m((e,n)=>(0,P.deepCompareObject)(e,n,{onSimilarName:m((g,h)=>{let l=new Set(
5
+ (0,P.toSnakeCase)(g).split("_")),p=new Set((0,P.toSnakeCase)(h).split("_"));for(let y of p)
6
+ if(y.length>1&&l.has(y))return!0;return!1},"onSimilarName"),onRename:m((g,h)=>!(0,P.isAnyObject)(
7
+ g)||!(0,P.isAnyObject)(h)?!1:(0,G.isTableMetadata)(g)&&(0,G.isTableMetadata)(h)?
8
+ de(g.schema,h.schema):(0,J.isAnySchema)(g)&&(0,J.isAnySchema)(h)?ge(g,h):!1,"onR\
9
+ ename")}),"getTableRepositoryChanges"),de=m((e,n)=>(0,P.deepEqual)(Object.keys(e.
10
+ properties),Object.keys(n.properties)),"canRenameTable"),ge=m((e,n)=>(0,P.deepEqual)(
11
+ e,n,{depth:1,include:{type:!0,definitions:!0,nullable:!0,format:!0}}),"canRename\
12
+ Column");var w=require("@ez4/schema"),W=require("@ez4/utils");var N=m((e,n)=>{let[g]=e.select().rawColumn("1").from("pg_constraint").where({conname:e.
13
+ rawString(n)}).build();return g},"getCheckConstraintQuery"),F=m((e,n,g)=>{let[h]=e.
12
14
  select().rawColumn("1").where({NOT:{exists:e.select().from(e.rawValue("informati\
13
15
  on_schema.columns")).rawColumn("1").where({column_name:e.rawString(g),table_name:e.
14
- rawString(o)})}}).build();return y},"getCheckColumnQuery");var Z=require("@ez4/utils");var U=p((e,o)=>`${_(e,o)}_pk`,"getPrimaryKeyName"),v=p((e,o)=>`${_(e,o)}_uk`,"ge\
15
- tUniqueKeyName"),M=p((e,o)=>`${_(e,o)}_sk`,"getSecondaryKeyName"),A=p((e,o)=>`${_(
16
- e,o)}_fk`,"getRelationName"),k=p((e,o)=>`${_(e,o)}_ck`,"getConstraintName"),_=p(
17
- (e,o)=>`${e}_${(0,Z.toSnakeCase)(o.replaceAll(":","_"))}`,"getName");var j;(m=>{m.prepareCreate=p((t,n,i)=>{let l=[];for(let r in i){let a=i[r];if((0,C.isEnumSchema)(
18
- a)||(0,C.isScalarSchema)(a)&&(0,H.isNotNullish)(a.definitions?.value)){let c=k(n,
19
- r);l.push({check:R(t,c),query:f(t,n,c,r,a).build()})}}return l},"prepareCreate"),
20
- m.prepareUpdate=p((t,n,i,l,r)=>{let a=[];for(let c in r){let{update:h,create:x,remove:b}=r[c];
21
- if(b||h){let q=l.properties[c];if(s(q)){let N=k(n,c);a.push({query:u(t,n,N).build()})}}
22
- if(x||h){let q=i.properties[c];if(s(q)){let N=k(n,c);a.push({check:R(t,N),query:f(
23
- t,n,N,c,q).build()})}}}return a},"prepareUpdate"),m.prepareRenameTable=p((t,n,i,l)=>{
24
- let r=[];for(let a in l){let c=l[a];if(s(c)){let h=k(n,a),x=k(i,a),b=t.table(i).
25
- alter().existing().constraint(h).rename(x);r.push({check:R(t,x),query:b.build()})}}
26
- return r},"prepareRenameTable"),m.prepareRenameColumns=p((t,n,i,l)=>{let r=[];for(let a in l){
27
- let c=l[a],h=i[c];if(s(h)){let x=k(n,a),b=k(n,c),q=t.table(n).alter().existing().
28
- constraint(x).rename(b);r.push({check:R(t,b),query:q.build()})}}return r},"prepa\
29
- reRenameColumns"),m.prepareDelete=p((t,n,i)=>{let l=[];for(let r in i){let a=i[r];
30
- if(s(a)){let c=k(n,r);l.push({query:u(t,n,c).build()})}}return l},"prepareDelete");
31
- let s=p(t=>(0,C.isEnumSchema)(t)||(0,C.isScalarSchema)(t)&&(0,H.isNotNullish)(t.
32
- definitions?.value),"isConstrainedSchema"),u=p((t,n,i)=>t.table(n).alter().existing().
33
- constraint(i).drop().existing(),"getDeleteQuery"),f=p((t,n,i,l,r)=>{let a=t.table(
34
- n).alter().existing().constraint(i);switch(r.type){case C.SchemaType.Enum:{let c=r.
35
- options.map(({value:h})=>`${h}`);a.check({[l]:{isIn:c}});break}case C.SchemaType.
36
- Boolean:case C.SchemaType.Number:case C.SchemaType.String:{a.check({[l]:{equal:r.
37
- definitions?.value}});break}}return a},"getCreateQuery")})(j||={});var ee=require("@ez4/pgclient/library"),te=require("@ez4/schema"),W=require("@ez4/database");var w;(f=>{f.prepareCreate=p((m,t,n,i)=>{let l=[];for(let r in i){let a=i[r];if(d(
38
- a))continue;let{[a.targetColumn]:c}=n.properties,h=A(t,r),x=!!(0,te.isNullishSchema)(
39
- c);l.push({check:R(m,h),query:u(m,t,h,a,x).build()})}return l},"prepareCreate"),
40
- f.prepareUpdate=p((m,t,n,i)=>{let l=[];for(let r in n){let a=n[r];if(d(a))continue;
41
- let c=i[a.targetColumn]?.update,h=c?.optional??c?.nullable;if(h===void 0)continue;
42
- let x=A(t,r);l.push({query:s(m,t,x).build()},{query:u(m,t,x,a,h).build()})}return l},
43
- "prepareUpdate"),f.prepareRename=p((m,t,n,i)=>{let l=[];for(let r in i){let a=i[r];
44
- if(d(a))continue;let c=A(t,r),h=A(n,r),x=m.table(n).alter().existing().constraint(
45
- c).rename(h);l.push({check:R(m,h),query:x.build()})}return l},"prepareRename"),f.
46
- prepareDelete=p((m,t,n)=>{let i=[];for(let l in n){let r=n[l];if(d(r))continue;let a=A(
47
- t,l);i.push({query:s(m,t,a).build()})}return i},"prepareDelete");let d=p(m=>{let{
48
- sourceIndex:t,targetIndex:n}=m;return!t||t===W.Index.Secondary||n===W.Index.Primary},
49
- "isNotRealRelation"),s=p((m,t,n)=>m.table(t).alter().existing().constraint(n).drop().
50
- existing(),"getDeleteQuery"),u=p((m,t,n,i,l)=>{let{sourceTable:r,sourceColumn:a,
51
- targetColumn:c}=i,h=(0,ee.getTableName)(r),x=m.table(t).alter().existing().constraint(
52
- n).foreign(c,h,[a]);return l?x.delete().null():x.delete().cascade(),x.update().cascade(),
53
- x},"getCreateQuery")})(w||={});var E=require("@ez4/schema"),P=require("@ez4/database");var T;(s=>{s.prepareCreate=p((u,f,m,t,n)=>{let i={constraints:[],indexes:[]};for(let l in t){
54
- let{columns:r,type:a}=t[l];switch(a){default:throw new Error("Unsupported index \
55
- type.");case P.Index.Primary:{let c=U(f,l),h=u.table(f).alter().existing().constraint(
56
- c).primary(r);i.constraints.push({check:R(u,c),query:h.build()});break}case P.Index.
57
- Unique:{let c=v(f,l),h=u.table(f).alter().existing().constraint(c).unique(r);i.constraints.
58
- push({check:R(u,c),query:h.build()});break}case P.Index.Secondary:{let c=M(f,l),
59
- h=d(r,m),x=u.index(c).create(f,r).type(h).missing();n&&x.concurrent(),i.indexes.
60
- push({query:x.build()});break}}}return i},"prepareCreate"),s.prepareUpdate=p((u,f,m,t,n,i,l)=>{
61
- let r={constraints:[],indexes:[]};for(let a in i){let{update:c,create:h,remove:x}=i[a];
62
- if(x||c){let b=(0,s.prepareDelete)(u,f,{[a]:t[a]});r.constraints.push(...b.constraints),
63
- r.indexes.push(...b.indexes)}if(h||c){let b=(0,s.prepareCreate)(u,f,m,{[a]:n[a]},
64
- l);r.constraints.push(...b.constraints),r.indexes.push(...b.indexes)}}return r},
65
- "prepareUpdate"),s.prepareRename=p((u,f,m,t)=>{let n={constraints:[],indexes:[]};
66
- for(let i in t){let{type:l}=t[i];switch(l){default:throw new Error("Unsupported \
67
- index type.");case P.Index.Primary:{let r=U(f,i),a=U(m,i),c=u.table(m).alter().existing().
68
- constraint(r).rename(a);n.constraints.push({check:R(u,a),query:c.build()});break}case P.Index.
69
- Unique:{let r=v(f,i),a=v(m,i),c=u.table(m).alter().existing().constraint(r).rename(
70
- a);n.constraints.push({check:R(u,a),query:c.build()});break}case P.Index.Secondary:{
71
- let r=M(f,i),a=M(m,i),c=u.index(r).rename(a).existing();n.indexes.push({query:c.
72
- build()});break}}}return n},"prepareRename"),s.prepareDelete=p((u,f,m)=>{let t={
73
- constraints:[],indexes:[]};for(let n in m){let{type:i}=m[n];switch(i){default:throw new Error(
74
- "Unsupported index type.");case P.Index.Primary:{let l=U(f,n),r=u.table(f).alter().
75
- existing().constraint(l).drop().existing();t.constraints.push({query:r.build()});
76
- break}case P.Index.Unique:{let l=v(f,n),r=u.table(f).alter().existing().constraint(
77
- l).drop().existing();t.constraints.push({query:r.build()});break}case P.Index.Secondary:{
78
- let l=M(f,n),r=u.index(l).drop().existing().concurrent();t.indexes.push({query:r.
79
- build()});break}}}return t},"prepareDelete");let d=p((u,f)=>{if(u.length===1){let[
80
- m]=u;switch(f.properties[m]?.type){case E.SchemaType.Object:case E.SchemaType.Union:case E.SchemaType.
81
- Array:case E.SchemaType.Tuple:return"GIN"}}return"BTREE"},"getIndexType")})(T||=
82
- {});var X=require("@ez4/database");var S=require("@ez4/schema"),ne=require("@ez4/utils");var $=p(e=>!!(e.nullable||e.optional),"isOptionalColumn"),z=p((e,o)=>{if((0,S.isScalarSchema)(
83
- e)||(0,S.isObjectSchema)(e)||(0,S.isArraySchema)(e)||(0,S.isTupleSchema)(e)){let{
16
+ rawString(n)})}}).build();return h},"getCheckColumnQuery"),H=m((e,n)=>{let[g]=e.
17
+ select().rawColumn("1").from("pg_constraint").where({convalidated:e.rawValue("tr\
18
+ ue"),conname:e.rawString(n)}).build();return g},"getCheckConstraintValidatedQuer\
19
+ y");var ee=require("@ez4/utils");var M=m((e,n)=>`${_(e,n)}_pk`,"getPrimaryKeyName"),D=m((e,n)=>`${_(e,n)}_uk`,"ge\
20
+ tUniqueKeyName"),U=m((e,n)=>`${_(e,n)}_sk`,"getSecondaryKeyName"),I=m((e,n)=>`${_(
21
+ e,n)}_fk`,"getRelationName"),O=m((e,n)=>`${_(e,n)}_ck`,"getConstraintName"),_=m(
22
+ (e,n)=>`${e}_${(0,ee.toSnakeCase)(n.replaceAll(":","_"))}`,"getName");var B;(o=>{o.prepareCreate=m((t,r,f)=>{let c={constraints:[],validations:[]};for(let a in f){
23
+ let s=f[a];if((0,w.isEnumSchema)(s)||(0,w.isScalarSchema)(s)&&(0,W.isNotNullish)(
24
+ s.definitions?.value)){let u=O(r,a);c.constraints.push({check:N(t,u),query:i(t,r,
25
+ u,a,s).build()}),c.validations.push({check:H(t,u),query:d(t,r,u).build(),name:u})}}
26
+ return c},"prepareCreate"),o.prepareUpdate=m((t,r,f,c,a)=>{let s={constraints:[],
27
+ validations:[]};for(let u in a){let{update:S,create:x,remove:b}=a[u];if(b||S){let R=c.
28
+ properties[u];if(p(R)){let C=O(r,u);s.constraints.push({query:y(t,r,C).build()})}}
29
+ if(x||S){let R=f.properties[u];if(p(R)){let C=O(r,u);s.constraints.push({check:N(
30
+ t,C),query:i(t,r,C,u,R).build()}),s.validations.push({check:H(t,C),query:d(t,r,C).
31
+ build(),name:C})}}}return s},"prepareUpdate"),o.prepareRenameTable=m((t,r,f,c)=>{
32
+ let a=[];for(let s in c){let u=c[s];if(p(u)){let S=O(r,s),x=O(f,s),b=t.table(f).
33
+ alter().existing().constraint(S).rename(x);a.push({check:N(t,x),query:b.build()})}}
34
+ return a},"prepareRenameTable"),o.prepareRenameColumns=m((t,r,f,c)=>{let a=[];for(let s in c){
35
+ let u=c[s],S=f[u];if(p(S)){let x=O(r,s),b=O(r,u),R=t.table(r).alter().existing().
36
+ constraint(x).rename(b);a.push({check:N(t,b),query:R.build()})}}return a},"prepa\
37
+ reRenameColumns"),o.prepareDelete=m((t,r,f)=>{let c=[];for(let a in f){let s=f[a];
38
+ if(p(s)){let u=O(r,a);c.push({query:y(t,r,u).build()})}}return c},"prepareDelete");
39
+ let p=m(t=>(0,w.isEnumSchema)(t)||(0,w.isScalarSchema)(t)&&(0,W.isNotNullish)(t.
40
+ definitions?.value),"isConstrainedSchema"),y=m((t,r,f)=>t.table(r).alter().existing().
41
+ constraint(f).drop().existing(),"getDeleteQuery"),d=m((t,r,f)=>t.table(r).alter().
42
+ existing().constraint(f).validate(),"getValidationQuery"),i=m((t,r,f,c,a)=>{let s=t.
43
+ table(r).alter().existing().constraint(f);switch(a.type){case w.SchemaType.Enum:{
44
+ let u=a.options.map(({value:x})=>`${x}`);s.check({[c]:{isIn:u}}).validate(!1);break}case w.SchemaType.
45
+ Boolean:case w.SchemaType.Number:case w.SchemaType.String:{s.check({[c]:{equal:a.
46
+ definitions?.value}}).validate(!1);break}}return s},"getCreateQuery")})(B||={});var te=require("@ez4/pgclient/library"),ne=require("@ez4/schema"),X=require("@ez4/database");var j;(d=>{d.prepareCreate=m((i,o,t,r)=>{let f=[];for(let c in r){let a=r[c];if(l(
47
+ a))continue;let{[a.targetColumn]:s}=t.properties,u=I(o,c),S=!!(0,ne.isNullishSchema)(
48
+ s);f.push({check:N(i,u),query:y(i,o,u,a,S).build()})}return f},"prepareCreate"),
49
+ d.prepareUpdate=m((i,o,t,r)=>{let f=[];for(let c in t){let a=t[c];if(l(a))continue;
50
+ let s=r[a.targetColumn]?.update,u=s?.optional??s?.nullable;if(u===void 0)continue;
51
+ let S=I(o,c);f.push({query:p(i,o,S).build()},{query:y(i,o,S,a,u).build()})}return f},
52
+ "prepareUpdate"),d.prepareRename=m((i,o,t,r)=>{let f=[];for(let c in r){let a=r[c];
53
+ if(l(a))continue;let s=I(o,c),u=I(t,c),S=i.table(t).alter().existing().constraint(
54
+ s).rename(u);f.push({check:N(i,u),query:S.build()})}return f},"prepareRename"),d.
55
+ prepareDelete=m((i,o,t)=>{let r=[];for(let f in t){let c=t[f];if(l(c))continue;let a=I(
56
+ o,f);r.push({query:p(i,o,a).build()})}return r},"prepareDelete");let l=m(i=>{let{
57
+ sourceIndex:o,targetIndex:t}=i;return!o||o===X.Index.Secondary||t===X.Index.Primary},
58
+ "isNotRealRelation"),p=m((i,o,t)=>i.table(o).alter().existing().constraint(t).drop().
59
+ existing(),"getDeleteQuery"),y=m((i,o,t,r,f)=>{let{sourceTable:c,sourceColumn:a,
60
+ targetColumn:s}=r,u=(0,te.getTableName)(c),S=i.table(o).alter().existing().constraint(
61
+ t),x=S.foreign(s,u,[a]).validate(!1);return f?x.delete().null():x.delete().cascade(),
62
+ x.update().cascade(),S},"getCreateQuery")})(j||={});var Q=require("@ez4/schema"),k=require("@ez4/database");var T;(y=>{y.prepareCreate=m((d,i,o,t)=>{let r={constraints:[],validations:[],indexes:[]};
63
+ for(let f in t){let{columns:c,type:a,name:s}=t[f];switch(a){default:throw new Error(
64
+ "Unsupported index type.");case k.Index.Primary:{let u=M(i,s);r.constraints.push(
65
+ {check:N(d,u),query:d.table(i).alter().existing().constraint(u).primary(c).build()});
66
+ break}case k.Index.Unique:{let u=D(i,s),S=p(c,o);r.indexes.push({query:d.index(u).
67
+ create(i,c).type(S).unique().concurrent().missing().build()}),r.validations.push(
68
+ {query:(0,y.getValidationQuery)(d,u),name:u});break}case k.Index.Secondary:{let u=U(
69
+ i,s),S=p(c,o);r.indexes.push({query:d.index(u).create(i,c).type(S).concurrent().
70
+ missing().build()}),r.validations.push({query:(0,y.getValidationQuery)(d,u),name:u});
71
+ break}}}return r},"prepareCreate"),y.prepareUpdate=m((d,i,o,t,r,f)=>{let c={constraints:[],
72
+ validations:[],indexes:[]};for(let a in f){let{update:s,create:u,remove:S}=f[a];
73
+ if(S||s){let x=(0,y.prepareDelete)(d,i,{[a]:t[a]});c.constraints.push(...x.constraints),
74
+ c.indexes.push(...x.indexes)}if(u||s){let x=(0,y.prepareCreate)(d,i,o,{[a]:r[a]});
75
+ c.constraints.push(...x.constraints),c.indexes.push(...x.indexes)}}return c},"pr\
76
+ epareUpdate"),y.prepareRename=m((d,i,o,t)=>{let r={validations:[],constraints:[],
77
+ indexes:[]};for(let f in t){let{type:c,name:a}=t[f];switch(c){default:throw new Error(
78
+ "Unsupported index type.");case k.Index.Primary:{let s=M(i,a),u=M(o,a);r.constraints.
79
+ push({check:N(d,u),query:d.table(o).alter().existing().constraint(s).rename(u).build()});
80
+ break}case k.Index.Unique:{let s=D(i,a),u=D(o,a);r.indexes.push({query:d.index(s).
81
+ rename(u).existing().build()});break}case k.Index.Secondary:{let s=U(i,a),u=U(o,
82
+ a);r.indexes.push({query:d.index(s).rename(u).existing().build()});break}}}return r},
83
+ "prepareRename"),y.prepareDelete=m((d,i,o)=>{let t={validations:[],constraints:[],
84
+ indexes:[]};for(let r in o){let{type:f,name:c}=o[r];switch(f){default:throw new Error(
85
+ "Unsupported index type.");case k.Index.Primary:{let a=M(i,c),s=d.table(i).alter().
86
+ existing().constraint(a).drop().existing();t.constraints.push({query:s.build()});
87
+ break}case k.Index.Unique:{let a=D(i,c),s=d.index(a).drop().existing().concurrent();
88
+ t.indexes.push({query:s.build()});break}case k.Index.Secondary:{let a=U(i,c),s=d.
89
+ index(a).drop().existing().concurrent();t.indexes.push({query:s.build()});break}}}
90
+ return t},"prepareDelete"),y.getValidationQuery=m((d,i)=>{let[o]=d.select().rawColumn(
91
+ "1").from("pg_index").where({indexrelid:d.rawValue(`${d.rawString(i).build()}::r\
92
+ egclass`),indisvalid:d.rawValue("false"),indisready:d.rawValue("true")}).build();
93
+ return o},"getValidationQuery");let p=m((d,i)=>{if(d.length===1){let[o]=d;switch(i.
94
+ properties[o]?.type){case Q.SchemaType.Object:case Q.SchemaType.Union:case Q.SchemaType.
95
+ Array:case Q.SchemaType.Tuple:return"GIN"}}return"BTREE"},"getIndexType")})(T||=
96
+ {});var Y=require("@ez4/database");var q=require("@ez4/schema"),re=require("@ez4/utils");var $=m(e=>!!(e.nullable||e.optional),"isOptionalColumn"),A=m((e,n)=>{if((0,q.isScalarSchema)(
97
+ e)||(0,q.isObjectSchema)(e)||(0,q.isArraySchema)(e)||(0,q.isTupleSchema)(e)){let{
84
98
  definitions:g}=e;switch(typeof g?.default){case"boolean":case"number":return`${g.
85
99
  default}`;case"string":return`'${g.default}'`;case"object":return`'${JSON.stringify(
86
- g.default)}'`}}if((0,S.isEnumSchema)(e)){let{definitions:g}=e;if(g?.default)return`\
87
- '${g.default}'`}if((0,S.isStringSchema)(e)&&o)switch(e.format){case"date-time":case"\
100
+ g.default)}'`}}if((0,q.isEnumSchema)(e)){let{definitions:g}=e;if(g?.default)return`\
101
+ '${g.default}'`}if((0,q.isStringSchema)(e)&&n)switch(e.format){case"date-time":case"\
88
102
  date":case"time":return"now()";case"uuid":return"gen_random_uuid()"}if($(e))return"\
89
- null"},"getColumnDefault"),Q=p((e,o)=>{switch(e.type){case S.SchemaType.Array:case S.SchemaType.
90
- Object:case S.SchemaType.Reference:case S.SchemaType.Union:case S.SchemaType.Tuple:
91
- return"jsonb";case S.SchemaType.Boolean:return"boolean";case S.SchemaType.Enum:return"\
92
- text";case S.SchemaType.Number:return ge(e,o);case S.SchemaType.String:return fe(
93
- e)}},"getColumnType"),ge=p((e,o)=>e.format==="integer"?o?"bigserial":"bigint":"d\
94
- ecimal","getColumNumberType"),fe=p(e=>{switch(e.format){case"uuid":case"time":case"\
95
- date":return e.format;case"date-time":return"timestamptz";default:let o=e.definitions?.
96
- maxLength;return(0,ne.isAnyNumber)(o)?`varchar(${o})`:"text"}},"getColumnTextTyp\
97
- e");var D;(d=>(d.prepareCreate=p((s,u,f,m)=>{let t=s.table(u).alter().existing();for(let n in m){
98
- let i=m[n],r=f[n]?.type===X.Index.Primary,a=!$(i),c=Q(i,r),h=z(i,r);t.add(n,c,a,
99
- h).missing()}return{query:t.build()}},"prepareCreate"),d.prepareUpdate=p((s,u,f,m,t)=>{
100
- let n=[];for(let i in t){let{create:l,update:r,nested:a,remove:c}=t[i],h=f.properties[i],
101
- b=m[i]?.type===X.Index.Primary,q=s.table(u).alter().existing().column(i);if(l){let N=l.
102
- definitions?.default,O=l?.nullable;N!==void 0&&q.default(z(h,b)),O!==void 0&&q.optional(
103
- O)}if(r||a){let N=a?.definitions?.update?.default,O=r?.nullable;r?.type!==void 0&&
104
- q.type(Q(h,b)),N!==void 0&&q.default(z(h,b)),O!==void 0&&q.optional(O)}if(c){let N=c.
105
- definitions?.default,O=c?.nullable;N!==void 0&&q.default(null),O!==void 0&&q.optional(
106
- O)}q.empty||n.push({check:F(s,u,i),query:q.build()})}return n},"prepareUpdate"),
107
- d.prepareRename=p((s,u,f)=>{let m=[];for(let t in f){let n=f[t],i=s.table(u).alter().
108
- existing().rename(t,n);m.push({check:F(s,u,t),query:i.build()})}return m},"prepa\
109
- reRename"),d.prepareDelete=p((s,u,f)=>{let m=s.table(u).alter().existing();for(let t in f)
110
- m.drop(t).existing();return{query:m.build()}},"prepareDelete")))(D||={});var re=require("@ez4/database");var K;(y=>(y.prepareCreate=p((d,s,u,f)=>{let m=d.table(s).create().missing();for(let t in u.
111
- properties){let n=u.properties[t],l=f[t]?.type===re.Index.Primary,r=!$(n),a=Q(n,
112
- l),c=z(n,l);m.column(t,a,r,c).missing()}return{query:m.build()}},"prepareCreate"),
113
- y.prepareRename=p((d,s,u)=>({query:d.table(s).rename(u).existing().build()}),"pr\
114
- epareRename"),y.prepareDelete=p((d,s)=>({query:d.table(s).drop().existing().cascade().
115
- build()}),"prepareDelete")))(K||={});var oe=p(e=>{let o=new L.SqlBuilder,g={tables:[],constraints:[],relations:[],indexes:[]};
116
- for(let y in e){let{name:d,schema:s,indexes:u,relations:f}=e[y];g.tables.push(K.
117
- prepareCreate(o,d,s,u)),g.constraints.push(...j.prepareCreate(o,d,s.properties)),
118
- g.relations.push(...w.prepareCreate(o,d,s,f)),I(g,T.prepareCreate(o,d,s,u,!1))}return g},
119
- "getCreateQueries"),ye=p((e,o)=>{let g=Y(e,o),y=new L.SqlBuilder,d={tables:[],constraints:[],
120
- relations:[],indexes:[]};if(g.create&&I(d,oe(g.create)),g.rename)for(let s in g.
121
- rename){let u=g.rename[s],f=e[u].indexes,m=e[u].relations,t=e[u].schema;d.tables.
122
- push(K.prepareRename(y,s,u)),d.constraints.push(...j.prepareRenameTable(y,s,u,t.
123
- properties)),d.relations.push(...w.prepareRename(y,s,u,m)),I(d,T.prepareRename(y,
124
- s,u,f))}if(g.nested)for(let s in g.nested){let{nested:u}=g.nested[s];if(!u)continue;
125
- let{schema:f,relations:m,indexes:t}=u,n=f?.nested?.properties,i=e[s].relations,l=o[s].
126
- indexes,r=e[s].indexes,a=o[s].schema,c=e[s].schema;n?.create&&(d.tables.push(D.prepareCreate(
127
- y,s,r,n.create)),d.constraints.push(...j.prepareCreate(y,s,n.create))),n?.nested&&
128
- (d.tables.push(...D.prepareUpdate(y,s,c,r,n.nested)),d.constraints.push(...j.prepareUpdate(
129
- y,s,c,a,n.nested)),d.relations.push(...w.prepareUpdate(y,s,i,n.nested))),n?.rename&&
130
- (d.tables.push(...D.prepareRename(y,s,n.rename)),d.constraints.push(...j.prepareRenameColumns(
131
- y,s,c.properties,n.rename))),n?.remove&&(d.tables.push(D.prepareDelete(y,s,n.remove)),
132
- d.constraints.push(...j.prepareDelete(y,s,n.remove))),t?.create&&I(d,T.prepareCreate(
133
- y,s,c,t.create,!0)),t?.nested&&I(d,T.prepareUpdate(y,s,c,l,r,t.nested,!0)),t?.remove&&
134
- I(d,T.prepareDelete(y,s,t.remove)),m?.create&&d.relations.push(...w.prepareCreate(
135
- y,s,c,m.create)),m?.remove&&d.relations.push(...w.prepareDelete(y,s,m.remove))}return g.
136
- remove&&I(d,se(g.remove)),d},"getUpdateQueries"),se=p(e=>{let o=new L.SqlBuilder,
137
- g={tables:[],constraints:[],relations:[],indexes:[]};for(let y in e){let{name:d}=e[y];
138
- g.tables.push(K.prepareDelete(o,d))}return g},"getDeleteQueries"),I=p((e,o)=>{o.
139
- indexes&&e.indexes.push(...o.indexes),o.constraints&&e.constraints.push(...o.constraints),
140
- o.relations&&e.relations.push(...o.relations),o.tables&&e.tables.push(...o.tables)},
141
- "combineQueries");0&&(module.exports={getCreateQueries,getDeleteQueries,getUpdateQueries});
103
+ null"},"getColumnDefault"),E=m((e,n)=>{switch(e.type){case q.SchemaType.Array:case q.SchemaType.
104
+ Object:case q.SchemaType.Reference:case q.SchemaType.Union:case q.SchemaType.Tuple:
105
+ return"jsonb";case q.SchemaType.Boolean:return"boolean";case q.SchemaType.Enum:return"\
106
+ text";case q.SchemaType.Number:return fe(e,n);case q.SchemaType.String:return ye(
107
+ e)}},"getColumnType"),fe=m((e,n)=>e.format==="integer"?n?"bigserial":"bigint":"d\
108
+ ecimal","getColumNumberType"),ye=m(e=>{switch(e.format){case"uuid":case"time":case"\
109
+ date":return e.format;case"date-time":return"timestamptz";default:let n=e.definitions?.
110
+ maxLength;return(0,re.isAnyNumber)(n)?`varchar(${n})`:"text"}},"getColumnTextTyp\
111
+ e");var z;(l=>(l.prepareCreate=m((p,y,d,i)=>{let o=p.table(y).alter().existing();for(let t in i){
112
+ let r=i[t],c=d[t]?.type===Y.Index.Primary,a=!$(r),s=E(r,c),u=A(r,c);o.add(t,s,a,
113
+ u).missing()}return{query:o.build()}},"prepareCreate"),l.prepareUpdate=m((p,y,d,i,o)=>{
114
+ let t=[];for(let r in o){let{create:f,update:c,nested:a,remove:s}=o[r],u=d.properties[r],
115
+ x=i[r]?.type===Y.Index.Primary,b=p.table(y).alter().existing().column(r);if(f){let R=f.
116
+ definitions?.default,C=f?.nullable;R!==void 0&&b.default(A(u,x)),!x&&C!==void 0&&
117
+ b.optional(C)}if(c||a){let R=a?.definitions?.update?.default,C=c?.nullable;c?.type!==
118
+ void 0&&b.type(E(u,x)),R!==void 0&&b.default(A(u,x)),!x&&C!==void 0&&b.optional(
119
+ C)}if(s){let R=s.definitions?.default,C=s?.nullable;R!==void 0&&b.default(null),
120
+ !x&&C!==void 0&&b.optional(C)}b.empty||t.push({check:F(p,y,r),query:b.build()})}
121
+ return t},"prepareUpdate"),l.prepareRename=m((p,y,d)=>{let i=[];for(let o in d){
122
+ let t=d[o],r=p.table(y).alter().existing().rename(o,t);i.push({check:F(p,y,o),query:r.
123
+ build()})}return i},"prepareRename"),l.prepareDelete=m((p,y,d)=>{let i=p.table(y).
124
+ alter().existing();for(let o in d)i.drop(o).existing();return{query:i.build()}},
125
+ "prepareDelete")))(z||={});var oe=require("@ez4/database");var V;(h=>(h.prepareCreate=m((l,p,y,d)=>{let i=l.table(p).create().missing();for(let o in y.
126
+ properties){let t=y.properties[o],f=d[o]?.type===oe.Index.Primary,c=!$(t),a=E(t,
127
+ f),s=A(t,f);i.column(o,a,c,s).missing()}return{query:i.build()}},"prepareCreate"),
128
+ h.prepareRename=m((l,p,y)=>({query:l.table(p).rename(y).existing().build()}),"pr\
129
+ epareRename"),h.prepareDelete=m((l,p)=>({query:l.table(p).drop().existing().cascade().
130
+ build()}),"prepareDelete")))(V||={});var se=m(e=>{let n=new L.SqlBuilder,g={tables:[],constraints:[],validations:[],relations:[],
131
+ indexes:[]};for(let h in e){let{name:l,schema:p,indexes:y,relations:d}=e[h];g.tables.
132
+ push(V.prepareCreate(n,l,p,y)),g.relations.push(...j.prepareCreate(n,l,p,d)),v(g,
133
+ B.prepareCreate(n,l,p.properties)),v(g,T.prepareCreate(n,l,p,y))}return g},"getC\
134
+ reateQueries"),he=m((e,n)=>{let g=Z(e,n),h=new L.SqlBuilder,l={tables:[],constraints:[],
135
+ validations:[],relations:[],indexes:[]};if(g.create&&v(l,se(g.create)),g.rename)
136
+ for(let p in g.rename){let y=g.rename[p],d=e[y].indexes,i=e[y].relations,o=e[y].
137
+ schema;l.tables.push(V.prepareRename(h,p,y)),l.constraints.push(...B.prepareRenameTable(
138
+ h,p,y,o.properties)),l.relations.push(...j.prepareRename(h,p,y,i)),v(l,T.prepareRename(
139
+ h,p,y,d))}if(g.nested)for(let p in g.nested){let{nested:y}=g.nested[p];if(!y)continue;
140
+ let{schema:d,relations:i,indexes:o}=y,t=d?.nested?.properties,r=e[p].relations,f=n[p].
141
+ indexes,c=e[p].indexes,a=n[p].schema,s=e[p].schema;t?.create&&(l.tables.push(z.prepareCreate(
142
+ h,p,c,t.create)),v(l,B.prepareCreate(h,p,t.create))),t?.nested&&(l.tables.push(...z.
143
+ prepareUpdate(h,p,s,c,t.nested)),v(l,B.prepareUpdate(h,p,s,a,t.nested)),l.relations.
144
+ push(...j.prepareUpdate(h,p,r,t.nested))),t?.rename&&(l.tables.push(...z.prepareRename(
145
+ h,p,t.rename)),l.constraints.push(...B.prepareRenameColumns(h,p,s.properties,t.rename))),
146
+ t?.remove&&(l.tables.push(z.prepareDelete(h,p,t.remove)),l.constraints.push(...B.
147
+ prepareDelete(h,p,t.remove))),o?.create&&v(l,T.prepareCreate(h,p,s,o.create)),o?.
148
+ nested&&v(l,T.prepareUpdate(h,p,s,f,c,o.nested)),o?.remove&&v(l,T.prepareDelete(
149
+ h,p,o.remove)),i?.create&&l.relations.push(...j.prepareCreate(h,p,s,i.create)),i?.
150
+ remove&&l.relations.push(...j.prepareDelete(h,p,i.remove))}return g.remove&&v(l,
151
+ ie(g.remove)),l},"getUpdateQueries"),ie=m(e=>{let n=new L.SqlBuilder,g={tables:[],
152
+ constraints:[],validations:[],relations:[],indexes:[]};for(let h in e){let{name:l}=e[h];
153
+ g.tables.push(V.prepareDelete(n,l))}return g},"getDeleteQueries"),v=m((e,n)=>{n.
154
+ tables&&e.tables.push(...n.tables),n.constraints&&e.constraints.push(...n.constraints),
155
+ n.validations&&e.validations.push(...n.validations),n.relations&&e.relations.push(
156
+ ...n.relations),n.indexes&&e.indexes.push(...n.indexes)},"combineQueries");0&&(module.exports={getCreateQueries,getDeleteQueries,getUpdateQueries});
142
157
  //# sourceMappingURL=main.cjs.map