@mlagie/sql-connector 1.0.5-beta → 1.0.6-beta

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.
Files changed (2) hide show
  1. package/index.js +8 -2
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -337,13 +337,13 @@ class Model {
337
337
  const fieldType = getFieldType(field);
338
338
 
339
339
  if (field.type && typeof field == "object") {
340
- if (!sqlTypeMap[fieldType]) throw new Error(`Field ${fieldName} has unsupported type ${fieldType}.`);
341
-
340
+ // Si c'est un enum, ne pas vérifier sqlTypeMap
342
341
  let columnDefinition = "";
343
342
  if (Array.isArray(field.enum) && field.enum.length > 0) {
344
343
  const enumValues = field.enum.map(v => `'${v.replace(/'/g, "''")}'`).join(", ");
345
344
  columnDefinition = `${fieldName} ENUM(${enumValues})`;
346
345
  } else {
346
+ if (!sqlTypeMap[fieldType]) throw new Error(`Field ${fieldName} has unsupported type ${fieldType}.`);
347
347
  columnDefinition = `${fieldName} ${sqlTypeMap[fieldType]}${sqlTypeMap[fieldType] == "VARCHAR" || sqlTypeMap[fieldType] == "INT" ? `(${field.length > 0 ? field.length : lengthDefault})` : ""}`;
348
348
  }
349
349
 
@@ -358,6 +358,12 @@ class Model {
358
358
  return columnDefinition;
359
359
  }
360
360
 
361
+ // Si c'est un enum sans type, ne pas vérifier sqlTypeMap
362
+ if (Array.isArray(field.enum) && field.enum.length > 0) {
363
+ const enumValues = field.enum.map(v => `'${v.replace(/'/g, "''")}'`).join(", ");
364
+ return `${fieldName} ENUM(${enumValues})`;
365
+ }
366
+
361
367
  if (!sqlTypeMap[fieldType]) throw new Error(`Field ${fieldName} has unsupported type ${field}`);
362
368
 
363
369
  return `${fieldName} ${sqlTypeMap[fieldType] == "VARCHAR" ? `${sqlTypeMap[fieldType]}(${lengthDefault})` : sqlTypeMap[fieldType]}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mlagie/sql-connector",
3
- "version": "1.0.5-beta",
3
+ "version": "1.0.6-beta",
4
4
  "description": "Le module sql-connector permet de gérer les connexions à une base de données MySQL, de définir des schémas de tables, et d'interagir avec les données de manière simple et efficace.",
5
5
  "main": "index.js",
6
6
  "scripts": {