diff --git a/DEPLOY.md b/DEPLOY.md index 74862b1..76b473b 100644 --- a/DEPLOY.md +++ b/DEPLOY.md @@ -43,15 +43,14 @@ ALLOWED_DOMAIN=votre-domaine.com ## 3. Déploiement ```bash -# Télécharger les images -docker-compose pull - -# Démarrer les services -docker-compose up -d +# Construire et démarrer les services +docker-compose up -d --build # Vérifier le statut docker-compose ps docker-compose logs -f regisflow + +# Les tables sont créées automatiquement au premier démarrage ``` ## 4. Vérification diff --git a/attached_assets/_regisflow-app_logs_1752100690824.txt b/attached_assets/_regisflow-app_logs_1752100690824.txt new file mode 100644 index 0000000..1e204fd --- /dev/null +++ b/attached_assets/_regisflow-app_logs_1752100690824.txt @@ -0,0 +1,95 @@ + at async DatabaseStorage.getAllUsers (file:///app/dist/index.js:187:12) + at async DatabaseStorage.initializeDefaults (file:///app/dist/index.js:258:27) + at async registerRoutes (file:///app/dist/index.js:510:22) + at async file:///app/dist/index.js:1071:18 { + length: 105, + severity: 'ERROR', + code: '42P01', + detail: undefined, + hint: undefined, + position: '139', + internalPosition: undefined, + internalQuery: undefined, + where: undefined, + schema: undefined, + table: undefined, + column: undefined, + dataType: undefined, + constraint: undefined, + file: 'parse_relation.c', + line: '1392', + routine: 'parserOpenTable' +} +Node.js v18.20.8 +🚀 Démarrage de RegisFlow (mode simplifié)... +📡 Attente de la base de données... +✅ PostgreSQL prêt! +✅ Base de données configurée +🎯 Démarrage de RegisFlow... +✅ Node.js 18 compatibility fix applied +/app/node_modules/pg-pool/index.js:45 + Error.captureStackTrace(err) + ^ +error: relation "users" does not exist + at /app/node_modules/pg-pool/index.js:45:11 + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + at async file:///app/node_modules/drizzle-orm/node-postgres/session.js:83:22 + at async DatabaseStorage.getAllUsers (file:///app/dist/index.js:187:12) + at async DatabaseStorage.initializeDefaults (file:///app/dist/index.js:258:27) + at async registerRoutes (file:///app/dist/index.js:510:22) + at async file:///app/dist/index.js:1071:18 { + length: 105, + severity: 'ERROR', + code: '42P01', + detail: undefined, + hint: undefined, + position: '139', + internalPosition: undefined, + internalQuery: undefined, + where: undefined, + schema: undefined, + table: undefined, + column: undefined, + dataType: undefined, + constraint: undefined, + file: 'parse_relation.c', + line: '1392', + routine: 'parserOpenTable' +} +Node.js v18.20.8 +🚀 Démarrage de RegisFlow (mode simplifié)... +📡 Attente de la base de données... +✅ PostgreSQL prêt! +✅ Base de données configurée +🎯 Démarrage de RegisFlow... +✅ Node.js 18 compatibility fix applied +/app/node_modules/pg-pool/index.js:45 + Error.captureStackTrace(err) + ^ +error: relation "users" does not exist + at /app/node_modules/pg-pool/index.js:45:11 + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + at async file:///app/node_modules/drizzle-orm/node-postgres/session.js:83:22 + at async DatabaseStorage.getAllUsers (file:///app/dist/index.js:187:12) + at async DatabaseStorage.initializeDefaults (file:///app/dist/index.js:258:27) + at async registerRoutes (file:///app/dist/index.js:510:22) + at async file:///app/dist/index.js:1071:18 { + length: 105, + severity: 'ERROR', + code: '42P01', + detail: undefined, + hint: undefined, + position: '139', + internalPosition: undefined, + internalQuery: undefined, + where: undefined, + schema: undefined, + table: undefined, + column: undefined, + dataType: undefined, + constraint: undefined, + file: 'parse_relation.c', + line: '1392', + routine: 'parserOpenTable' +} +Node.js v18.20.8 diff --git a/docker-entrypoint-simple.sh b/docker-entrypoint-simple.sh index 69b47e1..92cb95f 100644 --- a/docker-entrypoint-simple.sh +++ b/docker-entrypoint-simple.sh @@ -25,7 +25,15 @@ fi # Créer les répertoires nécessaires mkdir -p /app/backups /app/logs -# Initialiser la base de données (les tables seront créées automatiquement par l'application) +# Créer les tables de la base de données +echo "📦 Création des tables de la base de données..." +if npx drizzle-kit push --config=./drizzle.config.ts; then + echo "✅ Tables créées avec succès" +else + echo "❌ Erreur lors de la création des tables" + exit 1 +fi + echo "✅ Base de données configurée" # Démarrer l'application avec le script de polyfill Node.js 18 diff --git a/package-lock.json b/package-lock.json index 31eef55..45082c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -101,7 +101,7 @@ "@types/ws": "^8.5.13", "@vitejs/plugin-react": "^4.3.2", "autoprefixer": "^10.4.20", - "drizzle-kit": "^0.30.4", + "drizzle-kit": "^0.30.6", "esbuild": "^0.25.0", "postcss": "^8.4.47", "tailwindcss": "^3.4.17", @@ -1518,6 +1518,13 @@ "node": ">= 8" } }, + "node_modules/@petamoriken/float16": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.9.2.tgz", + "integrity": "sha512-VgffxawQde93xKxT3qap3OH+meZf7VaSB5Sqd4Rqc+FP5alWbpOyan/7tRbOAvynjpG3GpdtAuGU/NdhQpmrog==", + "dev": true, + "license": "MIT" + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -4583,16 +4590,17 @@ } }, "node_modules/drizzle-kit": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/drizzle-kit/-/drizzle-kit-0.30.4.tgz", - "integrity": "sha512-B2oJN5UkvwwNHscPWXDG5KqAixu7AUzZ3qbe++KU9SsQ+cZWR4DXEPYcvWplyFAno0dhRJECNEhNxiDmFaPGyQ==", + "version": "0.30.6", + "resolved": "https://registry.npmjs.org/drizzle-kit/-/drizzle-kit-0.30.6.tgz", + "integrity": "sha512-U4wWit0fyZuGuP7iNmRleQyK2V8wCuv57vf5l3MnG4z4fzNTjY/U13M8owyQ5RavqvqxBifWORaR3wIUzlN64g==", "dev": true, "license": "MIT", "dependencies": { "@drizzle-team/brocli": "^0.10.2", "@esbuild-kit/esm-loader": "^2.5.5", "esbuild": "^0.19.7", - "esbuild-register": "^3.5.0" + "esbuild-register": "^3.5.0", + "gel": "^2.0.0" }, "bin": { "drizzle-kit": "bin.cjs" @@ -5235,6 +5243,19 @@ "node": ">=10.13.0" } }, + "node_modules/env-paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/es-define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", @@ -5731,6 +5752,66 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gel": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gel/-/gel-2.1.1.tgz", + "integrity": "sha512-Newg9X7mRYskoBjSw70l1YnJ/ZGbq64VPyR821H5WVkTGpHG2O0mQILxCeUhxdYERLFY9B4tUyKLyf3uMTjtKw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@petamoriken/float16": "^3.8.7", + "debug": "^4.3.4", + "env-paths": "^3.0.0", + "semver": "^7.6.2", + "shell-quote": "^1.8.1", + "which": "^4.0.0" + }, + "bin": { + "gel": "dist/cli.mjs" + }, + "engines": { + "node": ">= 18.0.0" + } + }, + "node_modules/gel/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/gel/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gel/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -7888,6 +7969,19 @@ "node": ">=8" } }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/side-channel": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", diff --git a/package.json b/package.json index c9b54d7..5538135 100644 --- a/package.json +++ b/package.json @@ -103,7 +103,7 @@ "@types/ws": "^8.5.13", "@vitejs/plugin-react": "^4.3.2", "autoprefixer": "^10.4.20", - "drizzle-kit": "^0.30.4", + "drizzle-kit": "^0.30.6", "esbuild": "^0.25.0", "postcss": "^8.4.47", "tailwindcss": "^3.4.17",