PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Testowanie Mocha PostgreSQL z Knex daje mi błąd MigrationLocked

Dla każdego, kto natknie się na to, problem pochodził z db.js , a konkretnie ostatnia linia:

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]);

Oczywiście jest to asynchroniczne, a testy importowały ten plik przed próbą uruchomienia własnych funkcji knex, powodując blokadę. Obszedłem to, dodając klauzulę, aby zablokować to uruchomienie podczas testowania:

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

Następnie możesz utworzyć środowisko testowe, dodając process.env.NODE_ENV='test' do każdego pliku specyfikacji lub instalując npm env test moduł.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. W ramach funkcji wyzwalacza, jak uzyskać, które pola są aktualizowane?

  2. Jak przekonwertować ciąg na znacznik czasu w PostgreSQL

  3. Łączenie wyników z dwóch oddzielnych baz danych

  4. Czy istnieje sposób na zdefiniowanie nazwanej stałej w zapytaniu PostgreSQL?

  5. Błąd protokołu PostgreSQL. Konfiguracja sesji nie powiodła się.. błąd