Это связано с несовпадением миграций, выполненных для базы данных, и миграций в папке prisma/migrations
.
Это происходит при следующих обстоятельствах:
- Создайте миграцию с помощью
prisma2 migrate save --name “init” --experimental
- Выполните миграцию с помощью
prisma2 migrate up --experimental
- Удалите файлы миграции в папке
prisma/migrations
- Попробуйте запустить
prisma2 migrate save --name “new-migration” --experimental
На шаге 4 вы увидите эту ошибку.
Prisma отслеживает выполненные миграции в базе данных в таблице с именем _Migration
.
Для решения проблемы попробуйте удалить таблицу _Migration
в базе данных. С SQLite вы можете сделать это следующим образом:
sqlite3 prisma/dev.db "delete from _Migration"
Если это не сработает, вам нужно пересоздать базу данных. Если вы используете sqlite, удалите файл prisma/dev.db
(вы потеряете все данные в базе данных).
Чтобы предотвратить это в будущем, убедитесь, что вы начинаете с чистой базы данных и, если вы используете повторно в той же базе данных избегайте удаления файлов миграции (в prisma/migrations
после их выполнения.