Prisma — это современное ORM (объектно-реляционное сопоставление), которое облегчает взаимодействие с базами данных в приложениях Node.js и TypeScript. Одной из наиболее важных функций Prisma является система миграции, которая позволяет синхронизировать схему базы данных с моделью данных приложения. В этом посте мы рассмотрим рабочий процесс Prisma с использованием миграций.
Миграции — это метод контроля и применения изменений в схеме базы данных систематическим и версионным образом. Они позволяют вам определять структурные изменения в базе данных, такие как создание или изменение таблиц, поэтапным и обратимым образом.
Типичный рабочий процесс миграции в Prisma включает следующие шаги:
Сначала нам нужно установить Prisma в проект и инициализировать ее:
npm install @prisma/client npx prisma init
Эта команда создает каталог призмы, содержащий файл Schema.prisma, в котором мы определяем нашу модель данных.
В файле Schema.prisma мы определяем модели, представляющие таблицы базы данных. Например, давайте определим модель User:
model User { id Int @id @default(autoincrement()) email String @unique name String? }
Здесь мы определяем таблицу пользователей со столбцами идентификатора, адреса электронной почты и имени.
После определения или изменения схемы мы создаем миграцию, чтобы отразить эти изменения в базе данных:
npx prisma migrate dev --name init
Командаmigrate dev создает новую миграцию и применяет изменения к базе данных. Параметр --name позволяет присвоить миграции описательное имя, например, init в приведенном выше примере.
Миграции автоматически применяются к базе данных при использовании командыmigrate dev. Это гарантирует, что база данных всегда синхронизируется с моделью данных, определенной вschema.prisma.
Если вы хотите применить миграцию в производственной среде, используйте команду:
npx prisma migrate deploy
Эта команда применяет все ожидающие миграции к рабочей базе данных.
Prisma хранит историю всех миграций, примененных к базе данных. Это полезно для отслеживания изменений и отмены миграции при необходимости. Чтобы просмотреть историю миграции, вы можете использовать:
npx prisma migrate status
Эта команда показывает текущий статус миграции, в том числе, какие миграции были применены, а какие ожидаются.
Давайте рассмотрим практический пример того, как добавить новое поле в модель пользователя и создать миграцию для этого изменения.
Добавьте поле в модель пользователя в Schema.prisma:
model User { id Int @id @default(autoincrement()) email String @unique name String? birthdate DateTime? }
Создать новую миграцию:
npx prisma migrate dev --name add-birthdate-to-user
Применить миграцию:
Команда миграции dev уже применяет миграцию к базе данных. Теперь в базе данных появится новое поле даты рождения в таблице пользователей.
Проверить статус миграции:
npx prisma migrate status
Эта команда покажет, что миграция добавления даты рождения пользователя была успешно применена.
Рабочий процесс Prisma с использованием миграции — это эффективный и безопасный способ управления изменениями в схеме базы данных. Благодаря четкой последовательности шагов – определению схемы, созданию миграций, внесению изменений и управлению историей миграции – можно синхронизировать базу данных с моделью данных приложения, что облегчает разработку и обслуживание программного обеспечения.
С Prisma вы не только упрощаете управление базой данных, но и получаете мощный инструмент, обеспечивающий отслеживаемость и обратимость всех изменений, что способствует более надежному и гибкому процессу разработки.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3