问题描述
我在0.21.5中使用knex,并且启用了esm模块。它通常在目录路径中创建迁移(使用命令:yarn knex migration:make *迁移名称* --esm),但不执行迁移。使用命令knex migration:列出即使我创建了迁移也会出现:
Using environment: development
FS-related option specified for migration configuration. This resets migrationSource to default FsMigrations
FS-related option specified for migration configuration. This resets migrationSource to default FsMigrations
No Completed Migration files Found.
No Pending Migration files Found.
Done in 1.66s.
配置Knex文件:
import path from 'path';
export default {
development: {
client: 'pg',connection:
'postgres:*link of database*',migrations: {
directory: path.join(__dirname,'/src/database/migrations/'),loadExtensions: ['mjs'],},};
解决方法
我解决了这个问题,在这种情况下,负载扩展['mjs']无法正常工作,因此我将其删除并正常工作,但是您必须在执行的所有功能中加上esm标志,如果您要创建迁移,例如,您需要运行knex --esm migration:make 迁移名称