Mi problema: console.log('tableNobject: ', tableNobject) no inicia sesión en la migración de knex.
El siguiente código es lo que he probado:
// solution A export async function up(knex: Knex) { const tableAobject = await knex.select('*').from('tableAobject'); console.log('tableAobject: ', tableAobject); } // solution B export async function up(knex: Knex) { await knex.select('*').from('tableBobject').then((tableBobject) => { console.log('tableBobject: ', tableBobject); }); }Sin embargo, la salida de mi terminal es la siguiente:
Migration Starting ... Migrated Migration Done. Estos registros provienen de nuestro script de migración donde llamamos a database.migrate.latest()
Mi salida de terminal esperada para el código anterior sería algo como esto:
Migration Starting ... tableNobject: [ { id: 'randomId' someData: 'someDataString' ... }, ... ] Migrated Migration Done.Sé que es posible registrar las tablas que obtiene de knex porque cuando configuro un script de prueba fuera del flujo de migración, puedo registrar la tabla sin problemas.
He intentado la siguiente adición de configuraciones:
const configA = { ... debug: true, } const configB = { ... log: { warn(message) { console.log(message) }, error(message) { console.log(message) }, deprecate(message) { console.log(message) }, debug(message) { console.log(message) }, } } const configC = { ... debug: true, log: { warn(message) { console.log(message) }, error(message) { console.log(message) }, deprecate(message) { console.log(message) }, debug(message) { console.log(message) }, } };Las diferentes configuraciones anteriores no me dan el inicio de sesión en la terminal como quiero.
La configuración base (no sé si esto le da un valor agregado):
const config = { client: 'postgresql', connection: { host: '127.0.0.1', port: '5432', database: 'projectName_develop', user: 'user', password: 'dev', }, pool: { min: 2, max: 10, }, migrations: { tableName: 'knex_migrations', directory: path.join(__dirname, 'migrations'), }, seeds: { directory: path.join(__dirname, 'seeds'), }, asyncStackTraces: true, };Entonces, la razón por la que mi console.log no se registró fue porque las migraciones son archivos TypeScript.
Olvidé ejecutar el comando: npm run build-ts-backed:watch
Así que la solución era más fácil que el problema en cuestión. Recuerde ejecutar su compilador de TypeScript cuando realice pruebas en TypeScript.