Я хочу настроить проект так, чтобы он мог быть клонирован в новую систему, выполнить команду 1 и заставить все работать.
Раньше я использовал knex. В нем вы можете сделать что-то вроде этого:
const startServer = async () => {
const knex: Knex = require('knex')({});
await knex.migrate.latest();
app.listen( // and so on...
}
В этом случае при первом запуске сервера были выполнены все миграции, а в следующий раз было проверено, что эти миграции уже выполнены и процесс пошел.
Переключение на typeorm. Но проблема в том, что когда я запускаю сервер, я пишу
await connection.runMigrations();
, тогда все миграции просто выполняются снова, и я получаю ошибку 42P07
, говорящую о том, что вы уже создали такую таблицу.
Можно ли выполнять интеллектуальную миграцию в typeorm, чтобы сначала проверять миграцию, а затем запускать ее, только если она не была выполнена ранее?