PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Thử nghiệm Mocha PostgreSQL với Knex đang cho tôi lỗi MigrationLocked

Đối với bất kỳ ai tình cờ gặp phải vấn đề này, vấn đề thực sự đến từ db.js , cụ thể là dòng cuối cùng:

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

Tất nhiên điều này là không đồng bộ và các bài kiểm tra đã nhập tệp này trước khi cố gắng chạy các chức năng quỳ của riêng chúng, gây ra khóa. Tôi đã giải quyết vấn đề này bằng cách thêm một mệnh đề để chặn điều này đang chạy trong khi thử nghiệm:

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

Sau đó, bạn có thể tạo môi trường thử nghiệm bằng cách thêm process.env.NODE_ENV='test' cho từng tệp đặc tả hoặc bằng cách cài đặt kiểm tra npm env mô-đun.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ứng dụng web CRUD thả vào

  2. PostgreSQL Streaming Replication - Deep Dive

  3. Trích xuất giây từ bảng khoảng thời gian / Truyền bản ghi sang khoảng thời gian?

  4. Hàm thực thi nhanh hơn mà không có công cụ sửa đổi NGHIÊM TÚC?

  5. Định cấu hình PHP và PostgreSQL trên Windows