Logré hacer una conexión a una Base de Datos Azure pero al momento de crear las tablas el servidor falla con este error:
[path]/node_modules/typeorm/driver/sqlserver/SqlServerQueryRunner.js:2309 if (!dbTables.length) ^ TypeError: Cannot read properties of undefined (reading 'length') at SqlServerQueryRunner.<anonymous> ([path]/node_modules/typeorm/driver/sqlserver/SqlServerQueryRunner.js:2309:39) at step ([path/node_modules/tslib/tslib.js:143:27) at Object.next ([path]/node_modules/tslib/tslib.js:124:57) at fulfilled ([path]/node_modules/tslib/tslib.js:114:62) at processTicksAndRejections (node:internal/process/task_queues:96:5)Intenté buscar la solución pero no la hay. te agradeceria mucho si me ayudas
Su variable dbTables no está definida. El compilador no detectó esto antes porque usó el operador de aserción no nulo (operador bang: ! ).
En lugar de usar esta afirmación, debe ajustar el comportamiento de su programa, por ejemplo:
// check first if variable is defined if (dbTables && dbTables.length) {}Lo mismo pero más corto:
if (dbTables?.length) {}Su caso es un ejemplo perfecto de por qué el uso excesivo de un operador de aserción no nulo puede ser peligroso para su base de código. Deberíamos usarlo solo cuando, por alguna razón, tengamos un mejor conocimiento de los tipos que el compilador, lo cual es bastante raro.