L'application ne s'initialise plus correctement
Après avoir réinitialisé la base de données de mon instance de développement, celle-ci ne démarre plus. Je constate 2 problèmes :
- l'application crashe lors de la migration 18
I20240430-10:34:14.245(2) (migrations_server.js:85) Migrations: Running up() on version 17 (Rename nclocator field for users)
I20240430-10:34:14.248(2) (migrations_server.js:85) Migrations: Running up() on version 18 (Add articlesEnable field for users)
W20240430-10:34:14.309(2)? (STDERR) /home/bruno/.meteor/packages/promise/.0.12.2.pxl5h7.fzvfd++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/meteor-promise/promise_server.js:218
W20240430-10:34:14.310(2)? (STDERR) throw error;
W20240430-10:34:14.310(2)? (STDERR) ^
W20240430-10:34:14.310(2)? (STDERR)
W20240430-10:34:14.310(2)? (STDERR) Error: After filtering out keys not in the schema, your modifier is now empty
W20240430-10:34:14.311(2)? (STDERR) at doValidate (packages/aldeed:collection2/collection2.js:431:11)
W20240430-10:34:14.311(2)? (STDERR) at Collection.Mongo.Collection.<computed> [as update] (packages/aldeed:collection2/collection2.js:199:14)
W20240430-10:34:14.311(2)? (STDERR) at imports/api/migrations.js:325:22
W20240430-10:34:14.311(2)? (STDERR) at Array.forEach (<anonymous>)
W20240430-10:34:14.311(2)? (STDERR) at Object.up (imports/api/migrations.js:324:8)
- la création des 'fake users' échoue
I20240430-11:15:48.054(2)? 2024-04-30 11:15:48.054 [error] [SYSTEM] STARTUP- SERVER - ACCOUNTS - CreateUser - Error creating user: faker.random.arrayElement is not a function {}
I20240430-11:15:48.061(2)? 2024-04-30 11:15:48.061 [error] [SYSTEM] STARTUP- SERVER - ACCOUNTS - CreateUser - Error creating user: faker.random.arrayElement is not a function {}
I20240430-11:15:48.069(2)? 2024-04-30 11:15:48.068 [error] [SYSTEM] STARTUP- SERVER - ACCOUNTS - CreateUser - Error creating user: faker.random.arrayElement is not a function {}
Le premier problème vient du fait que le champ articlesEnable a été supprimé du schéma de la base dans la MR !872 (merged). Je pense que le plus simple est de commenter le code de cette migration qui n'a plus de raison d'être.
Pour les fake users, il faut remplacer l'appel à faker.random.arrayElement
par faker.helpers.arrayElement
Comment tester (sur une instance de développement) :
- mettre le setting private.fillWithFakeData à true
- meteor reset (attention, cela supprime la base locale)
- npm run start
- vérifier que toutes les étapes de migration passent au démarrage et que les utilisateurs sont créés
Edited by Bruno Boiget