Как сгенерировать файл миграции в typeorm с помощью nest js
Я новичок в этой структуре Nest JS и создал образец Restful API, но не смог перенести файл объекта. Я пробовал много способов, как это не работает. при первом запуске команды миграции для создания файла миграции она работает нормально. но во второй раз, создавая новую сущность, запустите команду миграции, которая показывает сообщение об отсутствии изменений, как исправить эту проблему.
Файл конфигурации БД .ts
{
type: 'postgres',
host: process.env.POSTGRES_HOST,
port: parseInt(process.env.POSTGRES_PORT) || 5432,
database: process.env.POSTGRES_DATABASE,
username: process.env.POSTGRES_USER,
password: process.env.POSTGRES_PASSWORD,
entities: ["dist/**/*.entity{ .ts,.js}"],
synchronize: true,
"migrations": ["dist/migrations/*{.ts,.js}"],
"migrationsTableName": "migrations_typeorm",
// ssl:{
// rejectUnauthorized:false
// }
}
Команда миграции
Создать и сгенерировать команду миграции
npx typeorm migration:create -n User -d src/migrations
npx typeorm migration:generate -n User -d src/migrations
Запустить файл миграции
npx typeorm migration:run
1 ответ
Вы должны использовать только в вашем случае. Это проверит вашу текущую структуру базы данных и сравнит ее с файлом объекта и на основе этого сгенерирует новый файл миграции с изменениями.
Проблема, с которой вы столкнулись, вероятно, была связана с переопределением.
создаст новый пустой файл, и вы запустите
migration:generate
Если вы хотите написать свою собственную миграцию, вы можете использовать
migration:create
Редактировать:
Также не забудьте установить
synchronize
Я всегда отключаю эту функцию и создаю или пишу миграцию вручную, так как она дает наибольший контроль.