@ez4/pgmigration 0.29.0 → 0.31.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/library.cjs CHANGED
@@ -15,14 +15,14 @@ rawColumn("1").from("pg_constraint").where({conname:e.rawString(t)}).build();ret
15
15
  "1").where({column_name:e.rawString(l),table_name:e.rawString(t)})}}).build();return y},
16
16
  "getCheckColumnQuery");var F;(l=>(l.prepareCreate=n(y=>{let d=new v.SqlBuilder;return{check:V(d,y),query:`\
17
17
  CREATE DATABASE "${y}"`}},"prepareCreate"),l.prepareDelete=n(y=>({query:`DROP DA\
18
- TABASE IF EXISTS "${y}" WITH (FORCE)`}),"prepareDelete")))(F||={});var G=require("@ez4/database");var x=require("@ez4/schema"),L=require("@ez4/utils");var I=n(e=>!!(e.nullable||e.optional),"isOptionalColumn"),P=n((e,t)=>{if((0,x.isScalarSchema)(
18
+ TABASE IF EXISTS "${y}" WITH (FORCE)`}),"prepareDelete")))(F||={});var G=require("@ez4/database");var x=require("@ez4/schema"),L=require("@ez4/utils");var w=n(e=>!!(e.nullable||e.optional),"isOptionalColumn"),P=n((e,t)=>{if((0,x.isScalarSchema)(
19
19
  e)||(0,x.isObjectSchema)(e)||(0,x.isArraySchema)(e)||(0,x.isTupleSchema)(e)){let{
20
20
  definitions:l}=e;switch(typeof l?.default){case"boolean":case"number":return`${l.
21
21
  default}`;case"string":return`'${l.default}'`;case"object":return`'${JSON.stringify(
22
22
  l.default)}'`}}if((0,x.isEnumSchema)(e)){let{definitions:l}=e;if(l?.default)return`\
23
23
  '${l.default}'`}if((0,x.isStringSchema)(e)&&t)switch(e.format){case"date-time":case"\
24
- date":case"time":return"now()";case"uuid":return"gen_random_uuid()"}if(I(e))return"\
25
- null"},"getColumnDefault"),w=n((e,t)=>{switch(e.type){case x.SchemaType.Array:case x.SchemaType.
24
+ date":case"time":return"now()";case"uuid":return"gen_random_uuid()"}if(w(e))return"\
25
+ null"},"getColumnDefault"),I=n((e,t)=>{switch(e.type){case x.SchemaType.Array:case x.SchemaType.
26
26
  Object:case x.SchemaType.Reference:case x.SchemaType.Union:case x.SchemaType.Tuple:
27
27
  return"jsonb";case x.SchemaType.Boolean:return"boolean";case x.SchemaType.Enum:return"\
28
28
  text";case x.SchemaType.Number:return me(e,t);case x.SchemaType.String:return ue(
@@ -30,7 +30,7 @@ e)}},"getColumnType"),me=n((e,t)=>e.format==="integer"?t?"bigserial":"bigint":"d
30
30
  ecimal","getColumNumberType"),ue=n(e=>{switch(e.format){case"uuid":case"time":case"\
31
31
  date":return e.format;case"date-time":return"timestamptz";default:let t=e.definitions?.
32
32
  maxLength;return(0,L.isAnyNumber)(t)?`varchar(${t})`:"text"}},"getColumnTextType");var H;(y=>(y.prepareCreate=n((d,c,m,g)=>{let i=d.table(c).create().missing();for(let r in m.
33
- properties){let o=m.properties[r],a=g[r]?.type===G.Index.Primary,p=!I(o),u=w(o,a),
33
+ properties){let o=m.properties[r],a=g[r]?.type===G.Index.Primary,p=!w(o),u=I(o,a),
34
34
  f=P(o,a);i.column(r,u,p,f).missing()}return{query:i.build()}},"prepareCreate"),y.
35
35
  prepareRename=n((d,c,m)=>({query:d.table(c).rename(m).existing().build()}),"prep\
36
36
  areRename"),y.prepareDelete=n((d,c)=>({query:d.table(c).drop().existing().cascade().
@@ -61,7 +61,7 @@ existing().concurrent();i.indexes.push({query:a.build()});break}}}return i},"pre
61
61
  pareDelete");let y=n((c,m)=>{if(c.length===1){let[g]=c;switch(m.properties[g]?.type){case j.SchemaType.
62
62
  Object:case j.SchemaType.Union:case j.SchemaType.Array:case j.SchemaType.Tuple:return"\
63
63
  GIN"}}return"BTREE"},"getIndexType")})(W||={});var X=require("@ez4/pgclient/library"),Y=require("@ez4/schema"),M=require("@ez4/database");var Z;(g=>{g.prepareCreate=n((i,r,o,s)=>{let a=[];for(let p in s){let u=s[p];if(d(
64
- u))continue;let{[u.targetColumn]:f}=o.properties,S=k(r,p),h=!!(0,Y.IsNullishSchema)(
64
+ u))continue;let{[u.targetColumn]:f}=o.properties,S=k(r,p),h=!!(0,Y.isNullishSchema)(
65
65
  f);a.push({check:N(i,S),query:m(i,r,S,u,h).build()})}return a},"prepareCreate"),
66
66
  g.prepareUpdate=n((i,r,o,s)=>{let a=[];for(let p in o){let u=o[p];if(d(u))continue;
67
67
  let f=s[u.targetColumn]?.update,S=f?.optional??f?.nullable;if(S===void 0)continue;
@@ -77,13 +77,13 @@ existing(),"getDeleteQuery"),m=n((i,r,o,s,a)=>{let{sourceTable:p,sourceColumn:u,
77
77
  targetColumn:f}=s,S=(0,X.getTableName)(p),h=i.table(r).alter().existing().constraint(
78
78
  o).foreign(f,S,[u]);return a?h.delete().null():h.delete().cascade(),h.update().cascade(),
79
79
  h},"getCreateQuery")})(Z||={});var K=require("@ez4/database");var Q;(d=>(d.prepareCreate=n((c,m,g,i)=>{let r=c.table(m).alter().existing();for(let o in i){
80
- let s=i[o],p=g[o]?.type===K.Index.Primary,u=!I(s),f=w(s,p),S=P(s,p);r.add(o,f,u,
80
+ let s=i[o],p=g[o]?.type===K.Index.Primary,u=!w(s),f=I(s,p),S=P(s,p);r.add(o,f,u,
81
81
  S).missing()}return{query:r.build()}},"prepareCreate"),d.prepareUpdate=n((c,m,g,i,r)=>{
82
82
  let o=[];for(let s in r){let{create:a,update:p,nested:u,remove:f}=r[s],S=g.properties[s],
83
83
  E=i[s]?.type===K.Index.Primary,b=c.table(m).alter().existing().column(s);if(a){let O=a.
84
84
  definitions?.default,C=a?.nullable;O!==void 0&&b.default(P(S,E)),C!==void 0&&b.optional(
85
85
  C)}if(p||u){let O=u?.definitions?.update?.default,C=p?.nullable;p?.type!==void 0&&
86
- b.type(w(S,E)),O!==void 0&&b.default(P(S,E)),C!==void 0&&b.optional(C)}if(f){let O=f.
86
+ b.type(I(S,E)),O!==void 0&&b.default(P(S,E)),C!==void 0&&b.optional(C)}if(f){let O=f.
87
87
  definitions?.default,C=f?.nullable;O!==void 0&&b.default(null),C!==void 0&&b.optional(
88
88
  C)}b.empty||o.push({check:U(c,m,s),query:b.build()})}return o},"prepareUpdate"),
89
89
  d.prepareRename=n((c,m,g)=>{let i=[];for(let r in g){let o=g[r],s=c.table(m).alter().
package/dist/library.mjs CHANGED
@@ -19,43 +19,43 @@ number":return`${g.default}`;case"string":return`'${g.default}'`;case"object":re
19
19
  '${JSON.stringify(g.default)}'`}}if(X(e)){let{definitions:g}=e;if(g?.default)return`\
20
20
  '${g.default}'`}if(Q(e)&&a)switch(e.format){case"date-time":case"date":case"time":
21
21
  return"now()";case"uuid":return"gen_random_uuid()"}if(O(e))return"null"},"getCol\
22
- umnDefault"),I=r((e,a)=>{switch(e.type){case q.Array:case q.Object:case q.Reference:case q.
22
+ umnDefault"),w=r((e,a)=>{switch(e.type){case q.Array:case q.Object:case q.Reference:case q.
23
23
  Union:case q.Tuple:return"jsonb";case q.Boolean:return"boolean";case q.Enum:return"\
24
24
  text";case q.Number:return re(e,a);case q.String:return ne(e)}},"getColumnType"),
25
25
  re=r((e,a)=>e.format==="integer"?a?"bigserial":"bigint":"decimal","getColumNumbe\
26
26
  rType"),ne=r(e=>{switch(e.format){case"uuid":case"time":case"date":return e.format;case"\
27
27
  date-time":return"timestamptz";default:let a=e.definitions?.maxLength;return te(
28
28
  a)?`varchar(${a})`:"text"}},"getColumnTextType");var ie;(f=>(f.prepareCreate=r((y,c,m,l)=>{let o=y.table(c).create().missing();for(let t in m.
29
- properties){let n=m.properties[t],s=l[t]?.type===oe.Primary,p=!O(n),u=I(n,s),d=N(
29
+ properties){let n=m.properties[t],s=l[t]?.type===oe.Primary,p=!O(n),u=w(n,s),d=N(
30
30
  n,s);o.column(t,u,p,d).missing()}return{query:o.build()}},"prepareCreate"),f.prepareRename=
31
31
  r((y,c,m)=>({query:y.table(c).rename(m).existing().build()}),"prepareRename"),f.
32
32
  prepareDelete=r((y,c)=>({query:y.table(c).drop().existing().cascade().build()}),
33
- "prepareDelete")))(ie||={});import{SchemaType as j}from"@ez4/schema";import{Index as b}from"@ez4/database";import{toSnakeCase as se}from"@ez4/utils";var w=r((e,a)=>`${T(e,a)}_pk`,"getPrimaryKeyName"),B=r((e,a)=>`${T(e,a)}_uk`,"ge\
33
+ "prepareDelete")))(ie||={});import{SchemaType as j}from"@ez4/schema";import{Index as b}from"@ez4/database";import{toSnakeCase as se}from"@ez4/utils";var I=r((e,a)=>`${T(e,a)}_pk`,"getPrimaryKeyName"),B=r((e,a)=>`${T(e,a)}_uk`,"ge\
34
34
  tUniqueKeyName"),A=r((e,a)=>`${T(e,a)}_sk`,"getSecondaryKeyName"),P=r((e,a)=>`${T(
35
35
  e,a)}_fk`,"getRelationName");var T=r((e,a)=>`${e}_${se(a.replaceAll(":","_"))}`,"getName");var ae;(y=>{y.prepareCreate=r((c,m,l,o,t)=>{let n={constraints:[],indexes:[]};for(let i in o){
36
36
  let{columns:s,type:p}=o[i];switch(p){default:throw new Error("Unsupported index \
37
- type.");case b.Primary:{let u=w(m,i),d=c.table(m).alter().existing().constraint(
37
+ type.");case b.Primary:{let u=I(m,i),d=c.table(m).alter().existing().constraint(
38
38
  u).primary(s);n.constraints.push({check:R(c,u),query:d.build()});break}case b.Unique:{
39
39
  let u=B(m,i),d=c.table(m).alter().existing().constraint(u).unique(s);n.constraints.
40
40
  push({check:R(c,u),query:d.build()});break}case b.Secondary:{let u=A(m,i),d=f(s,
41
41
  l),x=c.index(u).create(m,s).type(d).missing();t&&x.concurrent(),n.indexes.push({
42
42
  query:x.build()});break}}}return n},"prepareCreate"),y.prepareRename=r((c,m,l,o)=>{
43
43
  let t={constraints:[],indexes:[]};for(let n in o){let{type:i}=o[n];switch(i){default:
44
- throw new Error("Unsupported index type.");case b.Primary:{let s=w(m,n),p=w(l,n),
44
+ throw new Error("Unsupported index type.");case b.Primary:{let s=I(m,n),p=I(l,n),
45
45
  u=c.table(l).alter().existing().constraint(s).rename(p);t.constraints.push({check:R(
46
46
  c,p),query:u.build()});break}case b.Unique:{let s=B(m,n),p=B(l,n),u=c.table(l).alter().
47
47
  existing().constraint(s).rename(p);t.constraints.push({check:R(c,p),query:u.build()});
48
48
  break}case b.Secondary:{let s=A(m,n),p=A(l,n),u=c.index(s).rename(p).existing();
49
49
  t.indexes.push({query:u.build()});break}}}return t},"prepareRename"),y.prepareDelete=
50
50
  r((c,m,l)=>{let o={constraints:[],indexes:[]};for(let t in l){let{type:n}=l[t];switch(n){default:
51
- throw new Error("Unsupported index type.");case b.Primary:{let i=w(m,t),s=c.table(
51
+ throw new Error("Unsupported index type.");case b.Primary:{let i=I(m,t),s=c.table(
52
52
  m).alter().existing().constraint(i).drop().existing();o.constraints.push({query:s.
53
53
  build()});break}case b.Unique:{let i=B(m,t),s=c.table(m).alter().existing().constraint(
54
54
  i).drop().existing();o.constraints.push({query:s.build()});break}case b.Secondary:{
55
55
  let i=A(m,t),s=c.index(i).drop().existing().concurrent();o.indexes.push({query:s.
56
56
  build()});break}}}return o},"prepareDelete");let f=r((c,m)=>{if(c.length===1){let[
57
57
  l]=c;switch(m.properties[l]?.type){case j.Object:case j.Union:case j.Array:case j.
58
- Tuple:return"GIN"}}return"BTREE"},"getIndexType")})(ae||={});import{getTableName as ce}from"@ez4/pgclient/library";import{IsNullishSchema as me}from"@ez4/schema";
58
+ Tuple:return"GIN"}}return"BTREE"},"getIndexType")})(ae||={});import{getTableName as ce}from"@ez4/pgclient/library";import{isNullishSchema as me}from"@ez4/schema";
59
59
  import{Index as K}from"@ez4/database";var ue;(l=>{l.prepareCreate=r((o,t,n,i)=>{let s=[];for(let p in i){let u=i[p];if(y(
60
60
  u))continue;let{[u.targetColumn]:d}=n.properties,x=P(t,p),S=!!me(d);s.push({check:R(
61
61
  o,x),query:m(o,t,x,u,S).build()})}return s},"prepareCreate"),l.prepareUpdate=r((o,t,n,i)=>{
@@ -72,13 +72,13 @@ t).alter().existing().constraint(n).drop().existing(),"getDeleteQuery"),m=r((o,t
72
72
  let{sourceTable:p,sourceColumn:u,targetColumn:d}=i,x=ce(p),S=o.table(t).alter().
73
73
  existing().constraint(n).foreign(d,x,[u]);return s?S.delete().null():S.delete().
74
74
  cascade(),S.update().cascade(),S},"getCreateQuery")})(ue||={});import{Index as V}from"@ez4/database";var pe;(y=>(y.prepareCreate=r((c,m,l,o)=>{let t=c.table(m).alter().existing();for(let n in o){
75
- let i=o[n],p=l[n]?.type===V.Primary,u=!O(i),d=I(i,p),x=N(i,p);t.add(n,d,u,x).missing()}
75
+ let i=o[n],p=l[n]?.type===V.Primary,u=!O(i),d=w(i,p),x=N(i,p);t.add(n,d,u,x).missing()}
76
76
  return{query:t.build()}},"prepareCreate"),y.prepareUpdate=r((c,m,l,o,t)=>{let n=[];
77
77
  for(let i in t){let{create:s,update:p,nested:u,remove:d}=t[i],x=l.properties[i],
78
78
  z=o[i]?.type===V.Primary,h=c.table(m).alter().existing().column(i);if(s){let k=s.
79
79
  definitions?.default,C=s?.nullable;k!==void 0&&h.default(N(x,z)),C!==void 0&&h.optional(
80
80
  C)}if(p||u){let k=u?.definitions?.update?.default,C=p?.nullable;p?.type!==void 0&&
81
- h.type(I(x,z)),k!==void 0&&h.default(N(x,z)),C!==void 0&&h.optional(C)}if(d){let k=d.
81
+ h.type(w(x,z)),k!==void 0&&h.default(N(x,z)),C!==void 0&&h.optional(C)}if(d){let k=d.
82
82
  definitions?.default,C=d?.nullable;k!==void 0&&h.default(null),C!==void 0&&h.optional(
83
83
  C)}h.empty||n.push({check:D(c,m,i),query:h.build()})}return n},"prepareUpdate"),
84
84
  y.prepareRename=r((c,m,l)=>{let o=[];for(let t in l){let n=l[t],i=c.table(m).alter().
package/dist/main.cjs CHANGED
@@ -60,7 +60,7 @@ c);a.push({query:r(o,t,i).build()})}return a},"prepareDelete");let r=p((o,t,n)=>
60
60
  table(t).alter().existing().constraint(n).drop().existing(),"getDeleteQuery"),u=p(
61
61
  (o,t,n,a,c)=>{let l=c.map(({value:i})=>`${i}`);return o.table(t).alter().existing().
62
62
  constraint(n).check({[a]:{isIn:l}})},"getCreateQuery")})(B||={});var ee=require("@ez4/pgclient/library"),te=require("@ez4/schema"),F=require("@ez4/database");var T;(f=>{f.prepareCreate=p((o,t,n,a)=>{let c=[];for(let l in a){let i=a[l];if(m(
63
- i))continue;let{[i.targetColumn]:y}=n.properties,h=A(t,l),S=!!(0,te.IsNullishSchema)(
63
+ i))continue;let{[i.targetColumn]:y}=n.properties,h=A(t,l),S=!!(0,te.isNullishSchema)(
64
64
  y);c.push({check:b(o,h),query:u(o,t,h,i,S).build()})}return c},"prepareCreate"),
65
65
  f.prepareUpdate=p((o,t,n,a)=>{let c=[];for(let l in n){let i=n[l];if(m(i))continue;
66
66
  let y=a[i.targetColumn]?.update,h=y?.optional??y?.nullable;if(h===void 0)continue;
package/dist/main.mjs CHANGED
@@ -55,7 +55,7 @@ let i=[];for(let a in n){let u=n[a];if(!k(u))continue;let s=R(e,a);i.push({query
55
55
  o,e,s).build()})}return i},"prepareDelete");let r=p((o,e,n)=>o.table(e).alter().
56
56
  existing().constraint(n).drop().existing(),"getDeleteQuery"),m=p((o,e,n,i,a)=>{let u=a.
57
57
  map(({value:s})=>`${s}`);return o.table(e).alter().existing().constraint(n).check(
58
- {[i]:{isIn:u}})},"getCreateQuery")})(B||={});import{getTableName as me}from"@ez4/pgclient/library";import{IsNullishSchema as ue}from"@ez4/schema";
58
+ {[i]:{isIn:u}})},"getCreateQuery")})(B||={});import{getTableName as me}from"@ez4/pgclient/library";import{isNullishSchema as ue}from"@ez4/schema";
59
59
  import{Index as G}from"@ez4/database";var w;(g=>{g.prepareCreate=p((o,e,n,i)=>{let a=[];for(let u in i){let s=i[u];if(l(
60
60
  s))continue;let{[s.targetColumn]:y}=n.properties,h=I(e,u),x=!!ue(y);a.push({check:q(
61
61
  o,h),query:m(o,e,h,s,x).build()})}return a},"prepareCreate"),g.prepareUpdate=p((o,e,n,i)=>{
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ez4/pgmigration",
3
3
  "description": "EZ4: A PostgreSQL migration library",
4
- "version": "0.29.0",
4
+ "version": "0.31.0",
5
5
  "author": "Silas B.",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -28,6 +28,7 @@
28
28
  "import": "./dist/library.mjs"
29
29
  }
30
30
  },
31
+ "sideEffects": false,
31
32
  "workspaces": [
32
33
  "contracts/*",
33
34
  "libraries/*"
@@ -42,10 +43,10 @@
42
43
  "live:publish": "npm run build && npm publish --access public"
43
44
  },
44
45
  "dependencies": {
45
- "@ez4/database": "^0.29.0",
46
- "@ez4/pgsql": "^0.29.0",
47
- "@ez4/pgclient": "^0.29.0",
48
- "@ez4/schema": "^0.29.0",
49
- "@ez4/utils": "^0.29.0"
46
+ "@ez4/database": "^0.31.0",
47
+ "@ez4/pgsql": "^0.31.0",
48
+ "@ez4/pgclient": "^0.31.0",
49
+ "@ez4/schema": "^0.31.0",
50
+ "@ez4/utils": "^0.31.0"
50
51
  }
51
52
  }