Большая часть программного обеспечения, которое я видел для управления "миграциями" БД, привязано к определенной среде. Многие из них тесно связаны с уровнем абстракции ORM, с которым они взаимодействуют. Это может быть хорошо, если вы только когда-либо обращаетесь к данным через ORM, но это не всегда так. Я также сталкивался с ситуациями, когда программное обеспечение ORM хочет управлять всей схемой, чего я не хочу, потому что я делаю создание представлений / таблиц, которые работают в сочетании с существующей установкой. Это делает ORM бездействующим и, как следствие, библиотеку миграции, которая опирается на этот ORM.
В результате я обычно перечислял *.sql
файлы, которые оцениваются для создания схемы. Я также обычно использую некоторые шаблоныные библиотеки для обмена идиомами, стандартного пролога и т. Д.