@lark-apaas/db-schema-sync 0.1.5 → 0.1.6-alpha.1
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/bin.js +1 -1
- package/dist/{chunk-52COOWKC.js → chunk-HRE26HBV.js} +12 -10
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -1276,17 +1276,11 @@ var primitiveMappers = [
|
|
|
1276
1276
|
generate: (f) => `uuid("${escapeDoubleQuote(f.fieldName)}")`,
|
|
1277
1277
|
imports: () => [{ name: "uuid", from: PG_CORE }]
|
|
1278
1278
|
},
|
|
1279
|
-
// varchar
|
|
1279
|
+
// varchar
|
|
1280
1280
|
{
|
|
1281
1281
|
name: "varchar",
|
|
1282
1282
|
match: (f) => f.type === "varchar",
|
|
1283
|
-
generate: (f) => {
|
|
1284
|
-
const maxLength = f.extraInfo?.max_length;
|
|
1285
|
-
if (typeof maxLength === "number" && Number.isInteger(maxLength) && maxLength > 0) {
|
|
1286
|
-
return `varchar("${escapeDoubleQuote(f.fieldName)}", { length: ${maxLength} })`;
|
|
1287
|
-
}
|
|
1288
|
-
return `varchar("${escapeDoubleQuote(f.fieldName)}")`;
|
|
1289
|
-
},
|
|
1283
|
+
generate: (f) => `varchar("${escapeDoubleQuote(f.fieldName)}")`,
|
|
1290
1284
|
imports: () => [{ name: "varchar", from: PG_CORE }]
|
|
1291
1285
|
},
|
|
1292
1286
|
// text
|
|
@@ -1507,7 +1501,9 @@ var ImportCollector = class {
|
|
|
1507
1501
|
};
|
|
1508
1502
|
|
|
1509
1503
|
// src/generator/default-value.ts
|
|
1510
|
-
|
|
1504
|
+
var CUSTOM_CAST_TYPES = /* @__PURE__ */ new Set(["user_profile", "file_attachment"]);
|
|
1505
|
+
var CURRENT_USER_SENTINEL = "current_user";
|
|
1506
|
+
function formatDefaultValue(value, field) {
|
|
1511
1507
|
if (value == null || value === "") return "";
|
|
1512
1508
|
const trimmed = value.trim();
|
|
1513
1509
|
if (!trimmed || trimmed.toUpperCase() === "NULL") return "";
|
|
@@ -1516,6 +1512,12 @@ function formatDefaultValue(value) {
|
|
|
1516
1512
|
if (trimmed === "true") return ".default(true)";
|
|
1517
1513
|
if (trimmed === "false") return ".default(false)";
|
|
1518
1514
|
if (/^-?\d+(\.\d+)?$/.test(trimmed)) return `.default(${trimmed})`;
|
|
1515
|
+
if (field && CUSTOM_CAST_TYPES.has(field.type) && !trimmed.includes("::") && trimmed.toLowerCase() !== CURRENT_USER_SENTINEL) {
|
|
1516
|
+
const pgLiteral = trimmed.replace(/'/g, "''");
|
|
1517
|
+
const escaped = pgLiteral.replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
|
|
1518
|
+
const cast = field.isArray ? `${field.type}[]` : field.type;
|
|
1519
|
+
return `.default(sql\`'${escaped}'::${cast}\`)`;
|
|
1520
|
+
}
|
|
1519
1521
|
if (/::|\(|CASE|current_setting/i.test(trimmed)) {
|
|
1520
1522
|
const escaped = trimmed.replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
|
|
1521
1523
|
return `.default(sql\`${escaped}\`)`;
|
|
@@ -1544,7 +1546,7 @@ var defaultModifiers = [
|
|
|
1544
1546
|
{
|
|
1545
1547
|
name: "defaultValue",
|
|
1546
1548
|
match: (f) => f.defaultValue != null && f.defaultValue !== "",
|
|
1547
|
-
modify: (f) => formatDefaultValue(f.defaultValue)
|
|
1549
|
+
modify: (f) => formatDefaultValue(f.defaultValue, f)
|
|
1548
1550
|
}
|
|
1549
1551
|
];
|
|
1550
1552
|
function applyModifiers(field, modifiers) {
|
package/dist/index.js
CHANGED