Почему и когда при?


Я попытался найти этот вопрос на переполнение стека, но не смог найти ни одного вопроса для этого. Я новичок на при и хочет знать, почему при? И когда именно следует использовать при в проекте?

Я знаю, что это должно сохранить все изменения базы данных в одном месте, но подобное можно сделать, создав простой файл sql в некоторой системе репозитория и продолжая обновлять его со временем.

4 60

4 ответа:

ключевой дифференциатор между самоуправляемой схемой create file и Liquibase (или другой схема миграции tools) заключается в том, что последний предоставляет список изменений схемы. Это запись изменений схемы с течением времени. Это позволяет конструктору базы данных указать изменения в схеме & включает программное обновление или понижение уровня схемы по требованию.

есть и другие преимущества, такие как:

  • независимость от поставщика базы данных (это сомнительно, но они стараются)
  • автоматизированная документация
  • схема базы данных diffs

один альтернативный инструмент flyway.

вы выбрали бы использовать инструмент миграции схемы, когда вы хотите или должны автоматически управлять обновлениями схемы без потери данных. То есть вы ожидаете, что схема изменится после развертывания системы в долговременной среде, такой как сайт клиента или стабильная тестовая среда.

Я видел liquibase создать дисциплину среди разработчиков, когда дело доходит до изменения схемы. Вы просто не можете пойти и перезаписать изменения другого разработчика и выполнить . Вместо этого вы создаете свой собственный набор изменений, добавляете его в конец последовательности выполняемых изменений. Это также вносит ясность в то, какие изменения произошли, когда и кто их принес.

очень "версионный" подход к обслуживанию схемы.

для начала, это создает впечатление " ненужной работы" хотя.

когда у вас есть несколько экземпляров базы данных в dev, qa, production, и вы хотите иметь инструмент для автоматического отслеживания истории изменений и интеллектуального применения изменений(применить разницу текущей схемы и окончательной схемы), такие инструменты, как liquibase или flyway, будут очень полезны.

Я считаю, что Liquibase отлично подходит, когда ваша философия заключается в том, что база данных является запоздалой мыслью. Эта философия вызвала большинство плохих баз данных в производстве-и большинство из них плохие. База данных должна быть разработана с полным представлением всей бизнес-системы, а не по частям разработчиками приложений, каждый из которых работает в своих собственных бункерах. Последний метод приводит к обходным путям, денормализованным данным, плохим отношениям между таблицами, дублированию бизнес-областей и в целом грязная, дорогостоящая система обслуживания, которую клиент будет ненавидеть вскоре после развертывания из-за проблем, которые она вызывает. Если база данных предназначена для точного отражения деловых отношений, ее срок службы будет в 5 раз дольше и будет служить своей цели в 5 раз лучше, чем тот, который разработан по частям, как, к сожалению, большинство из них.

Liquibase сама по себе не является проблемой, но она позволяет разработчикам приложений разрабатывать базу данных. То есть проблема.