@prisma-psm/pg 1.0.48 → 1.0.50

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma-psm/pg",
3
- "version": "1.0.48",
3
+ "version": "1.0.50",
4
4
  "description": "Prisma Safe Migration Postgres Driver",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAK/C,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,qBAAqB,YAuCtE;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,qBAAqB,CAAC;CACjC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,YAyB7C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG;IACpD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CAuLA;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,YAqB1D"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAK/C,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,qBAAqB,YAuCtE;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,qBAAqB,CAAC;CACjC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,YAyB7C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG;IACpD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CA2OA;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,YAqB1D"}
@@ -79,6 +79,62 @@ function restoreBackupSQL(opts) {
79
79
  const temp = (0, escape_1.oid)(opts.model.temp);
80
80
  if ((_b = (_a = opts.model.psm) === null || _a === void 0 ? void 0 : _a.backup) === null || _b === void 0 ? void 0 : _b.skip)
81
81
  return null;
82
+ // Função auxiliar para extrair a expressão SQL do default de um campo
83
+ function getDefaultSQL(field) {
84
+ const def = field.default;
85
+ if (def === undefined || def === null)
86
+ return 'NULL';
87
+ // 1. Tipos primitivos
88
+ if (typeof def === 'string')
89
+ return def;
90
+ if (typeof def === 'number')
91
+ return String(def);
92
+ if (typeof def === 'boolean')
93
+ return def ? 'true' : 'false';
94
+ // 2. Objetos
95
+ if (typeof def === 'object') {
96
+ const obj = def; // escape para acessar propriedades desconhecidas
97
+ // 2.1 Propriedades comuns em alguns dialetos (sql, expression)
98
+ if (obj.sql && typeof obj.sql === 'string')
99
+ return obj.sql;
100
+ if (obj.expression && typeof obj.expression === 'string')
101
+ return obj.expression;
102
+ // 2.2 Função representada por { name, args } (padrão Prisma para funções como nextval, now)
103
+ if (obj.name && typeof obj.name === 'string') {
104
+ const name = obj.name;
105
+ const args = Array.isArray(obj.args) ? obj.args : [];
106
+ // Converte cada argumento recursivamente
107
+ const argsSql = args.map((arg) => {
108
+ if (arg === null || arg === undefined)
109
+ return 'NULL';
110
+ if (typeof arg === 'string')
111
+ return arg;
112
+ if (typeof arg === 'number')
113
+ return String(arg);
114
+ if (typeof arg === 'boolean')
115
+ return arg ? 'true' : 'false';
116
+ if (typeof arg === 'object') {
117
+ // Tenta extrair SQL do argumento (pode ser outra função)
118
+ return getDefaultSQL({ default: arg });
119
+ }
120
+ return String(arg);
121
+ }).join(', ');
122
+ return `${name}(${argsSql})`;
123
+ }
124
+ // 2.3 Objetos com toString personalizado (evita [object Object])
125
+ if (obj.toString && obj.toString !== Object.prototype.toString) {
126
+ const str = obj.toString();
127
+ if (str !== '[object Object]')
128
+ return str;
129
+ }
130
+ // 2.4 Tenta obter value (para objetos simples como { value: ... })
131
+ if (obj.value !== undefined) {
132
+ return getDefaultSQL({ default: obj.value });
133
+ }
134
+ }
135
+ // Fallback seguro
136
+ return 'NULL';
137
+ }
82
138
  // Filtra campos escalares não gerados (serão restaurados)
83
139
  const filter = (field) => !field.isGenerated && field.kind === "scalar";
84
140
  const fields = opts.model.fields.filter(filter);
@@ -89,8 +145,7 @@ function restoreBackupSQL(opts) {
89
145
  .map((field) => {
90
146
  const colName = (0, escape_1.oid)(field.dbName || field.name);
91
147
  const colNameLit = (0, escape_1.lit)(field.dbName || field.name);
92
- // Obtém a expressão default do modelo (assumindo que reflete o schema do banco)
93
- const defaultValue = field.default !== undefined ? field.default : "NULL";
148
+ const defaultValue = getDefaultSQL(field);
94
149
  return `
95
150
  CASE
96
151
  WHEN original_json ? ${colNameLit} THEN s.${colName}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["engine.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,59 @@ export function restoreBackupSQL(opts: RestoreOptions): {
92
92
 
93
93
  if (opts.model.psm?.backup?.skip) return null as any;
94
94
 
95
+ // Função auxiliar para extrair a expressão SQL do default de um campo
96
+ function getDefaultSQL(field: FieldOption): string {
97
+ const def = field.default;
98
+ if (def === undefined || def === null) return 'NULL';
99
+
100
+ // 1. Tipos primitivos
101
+ if (typeof def === 'string') return def;
102
+ if (typeof def === 'number') return String(def);
103
+ if (typeof def === 'boolean') return def ? 'true' : 'false';
104
+
105
+ // 2. Objetos
106
+ if (typeof def === 'object') {
107
+ const obj = def as any; // escape para acessar propriedades desconhecidas
108
+
109
+ // 2.1 Propriedades comuns em alguns dialetos (sql, expression)
110
+ if (obj.sql && typeof obj.sql === 'string') return obj.sql;
111
+ if (obj.expression && typeof obj.expression === 'string') return obj.expression;
112
+
113
+ // 2.2 Função representada por { name, args } (padrão Prisma para funções como nextval, now)
114
+ if (obj.name && typeof obj.name === 'string') {
115
+ const name = obj.name;
116
+ const args = Array.isArray(obj.args) ? obj.args : [];
117
+ // Converte cada argumento recursivamente
118
+ const argsSql = args.map((arg: any) => {
119
+ if (arg === null || arg === undefined) return 'NULL';
120
+ if (typeof arg === 'string') return arg;
121
+ if (typeof arg === 'number') return String(arg);
122
+ if (typeof arg === 'boolean') return arg ? 'true' : 'false';
123
+ if (typeof arg === 'object') {
124
+ // Tenta extrair SQL do argumento (pode ser outra função)
125
+ return getDefaultSQL({ default: arg } as FieldOption);
126
+ }
127
+ return String(arg);
128
+ }).join(', ');
129
+ return `${name}(${argsSql})`;
130
+ }
131
+
132
+ // 2.3 Objetos com toString personalizado (evita [object Object])
133
+ if (obj.toString && obj.toString !== Object.prototype.toString) {
134
+ const str = obj.toString();
135
+ if (str !== '[object Object]') return str;
136
+ }
137
+
138
+ // 2.4 Tenta obter value (para objetos simples como { value: ... })
139
+ if (obj.value !== undefined) {
140
+ return getDefaultSQL({ default: obj.value } as FieldOption);
141
+ }
142
+ }
143
+
144
+ // Fallback seguro
145
+ return 'NULL';
146
+ }
147
+
95
148
  // Filtra campos escalares não gerados (serão restaurados)
96
149
  const filter = (field: FieldOption) =>
97
150
  !field.isGenerated && field.kind === "scalar";
@@ -105,8 +158,7 @@ export function restoreBackupSQL(opts: RestoreOptions): {
105
158
  .map((field) => {
106
159
  const colName = oid(field.dbName || field.name);
107
160
  const colNameLit = lit(field.dbName || field.name);
108
- // Obtém a expressão default do modelo (assumindo que reflete o schema do banco)
109
- const defaultValue = field.default !== undefined ? field.default : "NULL";
161
+ const defaultValue = getDefaultSQL(field);
110
162
  return `
111
163
  CASE
112
164
  WHEN original_json ? ${colNameLit} THEN s.${colName}