arckode-framework 1.0.4 → 1.0.5

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.
@@ -769,6 +769,7 @@ export class ORM {
769
769
  }
770
770
 
771
771
  // 1. Crear tabla si no existe
772
+ const hasExplicitId = Object.keys(def.fields).includes('id')
772
773
  const columns = Object.entries(def.fields).map(([name, field]) => {
773
774
  const sqlType = this.fieldTypeToSQL(field.type)
774
775
  const parts = [name, sqlType]
@@ -783,6 +784,11 @@ export class ORM {
783
784
  return parts.join(' ')
784
785
  })
785
786
 
787
+ // Auto-añadir id TEXT PRIMARY KEY si el modelo no lo declara explícitamente
788
+ if (!hasExplicitId) {
789
+ columns.unshift('id TEXT PRIMARY KEY')
790
+ }
791
+
786
792
  if (def.timestamps) {
787
793
  columns.push('createdAt TEXT')
788
794
  columns.push('updatedAt TEXT')
@@ -818,11 +824,12 @@ export class ORM {
818
824
  }
819
825
 
820
826
  // 4. Detectar drift de schema: columnas en la BD que ya no están en el modelo
827
+ // Normalizar a lowercase para compatibilidad con PostgreSQL (retorna nombres en minúscula)
821
828
  const definedCols = new Set([
822
829
  'id',
823
- ...Object.keys(def.fields),
824
- ...(def.timestamps ? ['createdAt', 'updatedAt'] : []),
825
- ...(def.softDelete ? ['deletedAt'] : []),
830
+ ...Object.keys(def.fields).map(k => k.toLowerCase()),
831
+ ...(def.timestamps ? ['createdat', 'updatedat'] : []),
832
+ ...(def.softDelete ? ['deletedat'] : []),
826
833
  ])
827
834
 
828
835
  const dbCols = await this.getTableColumns(def.table)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arckode-framework",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "AI-first TypeScript/Bun framework. Modular, SOLID, zero magic. The AI reads the composition root and knows everything.",
5
5
  "type": "module",
6
6
  "main": "./kernel/framework.ts",
@@ -55,6 +55,7 @@
55
55
  "analyze:framework": "bun run cli/index.ts analyze"
56
56
  },
57
57
  "dependencies": {
58
+ "arckode-framework": "^1.0.3",
58
59
  "jsonwebtoken": "^9.0.0"
59
60
  },
60
61
  "peerDependencies": {