#javascript #node.js #postgresql #knex.js #es6-modules
#javascript #node.js #postgresql #knex.js #es6-модули
Вопрос:
Я использую knex в версии 0.21.5, и я включил модуль esm. Он обычно создает миграцию (используя команду: yarn knex migrate: make * имя миграции * —esm) в пути к каталогу, но не выполняет их. С помощью команды knex migrate: list это отображается, даже если я создал миграцию:
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.
Конфигурационный Knexfile:
import path from 'path';
export default {
development: {
client: 'pg',
connection:
'postgres:*link of database*',
migrations: {
directory: path.join(__dirname, '/src/database/migrations/'),
loadExtensions: ['mjs'],
},
},
};
Ответ №1:
Я решил проблему, в этом случае расширения загрузки [‘mjs’] не работают, поэтому я удалил их, и это сработало, но вы должны поставить флаг — esm во всех выполняемых вами функциях, поэтому, если вы хотите создать миграцию, например, вам нужно запустить knex —esm migrate:сделать имя миграции
Ответ №2:
Для меня,
У меня есть комбинация Typescript
и ESM
,
Я запустил его с помощью этого: node --loader ts-node/esm ./node_modules/.bin/knex migrate:latest
Ссылка: Проблема Knex