PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Mocha тестването на PostgreSQL с Knex ми дава грешка MigrationLocked

За всеки, който се е натъкнал на това, проблемът всъщност идва от db.js , по-специално последния ред:

const config = require('../knexfile.js');
const env = process.env.NODE_ENV || 'development';
const knex = require("knex")(config[env]);

module.exports = knex;

knex.migrate.latest([config]);

Разбира се, това е асинхронно и тестовете импортираха този файл, преди да се опитат да изпълнят свои собствени knex функции, причинявайки заключването. Заобиколих това, като добавих клауза за блокиране на това изпълнение по време на тестване:

if(process.env.NODE_ENV != 'test') {
   knex.migrate.latest([config])
}

След това можете да създадете тестова среда, като добавите process.env.NODE_ENV='test' към всеки спецификационен файл или като инсталирате npm env test модул.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL два критерия от едно групиране по

  2. В таблицата на PostgresQL, как да създадете колона с всички стойности в колона1, за която стойността на текущия ред в колона1 се появява в колона2?

  3. Как да задам име на приложение в url на Postgresql JDBC?

  4. свържете екземпляр на google cloud sql postgres от beam pipeline

  5. Тригерът на PostgreSQL не връща нищо