Как удалить призматические модели с данными в производстве

Я хочу удалить 2 модели из производственной базы данных postgreSQL, которые больше не используются, но имеют данные о них.

Я немного боюсь удалять их из схемы и запускать prisma migrate dev, а затем возникать проблемы с миграцией, созданной в рабочей среде.

Поэтому моя идея заключалась в том, чтобы очистить базу данных перед:

1 сделать запрос к базе данных prod, чтобы удалить все данные из связанных таблиц. 2 удалите модели из схемы локально и запустите миграцию. 3 нажмите миграцию в prod с пустыми таблицами БД Ребята, что вы думаете?

Должен ли я сделать это или просто не бояться и удалить модели локально + запустить prisma migrate dev, а затем отправить миграцию в prod?

Есть ли другие способы добиться того, что я хочу?

Заранее спасибо!

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
0
0
57
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ваш план кажется хорошим! Это гарантирует, что никакие данные, которые все еще присутствуют в таблицах, не повлияют на миграцию.

Другой вариант, который вы могли бы рассмотреть, — это переименовать таблицы в базе данных, а не удалять их полностью. Это позволит вам получить данные позже (при необходимости), но также позволит без проблем удалить модели из вашей схемы.

Поэтому я бы сделал так:

  1. Переименовать таблицы
  2. Удалите модели из схемы локально
  3. подтолкнуть миграцию к продукту
  4. Удалите переименованные таблицы из шага 1.

Большое спасибо @lapadepts! Я постараюсь последовать вашему совету и переименовать таблицы перед удалением моделей.

reymon359 16.01.2023 10:02
Ответ принят как подходящий

Перечисленный вами подход выглядит хорошо.

Другой альтернативой может быть удаление моделей из файла схемы и запуск команды npx prisma migrate dev с флагом --create-only, чтобы просто создать файл миграции, не применяя его к базе данных.

Вы можете сначала проверить файл миграции, и если он вам подходит, вы можете снова вызвать npx prisma migrate dev, чтобы применить его.

Привет @nurul-sundarani Спасибо за ответ, я не знал об этом флаге. Он отлично подходит для моих нужд, поэтому большое спасибо за предложение, попробую, когда сделаю это 😄

reymon359 17.01.2023 15:18

Возвращаясь, чтобы сказать, что удаление было успешным. Спасибо за предоставление этого флага. Было очень полезно 🙌

reymon359 19.01.2023 08:00

Другие вопросы по теме