Скажем, у нас есть база данных SQL с таблицей Person
и несколькими приложениями, обращающимися к ней. По какой-то причине мы хотели бы изменить таблицу Person
в обратном-несовместимом виде.Варианты версий PostgreSQL для обратной совместимости?
Одним из возможных решений для обеспечения совместимости является переименование таблицы в User
и создание вида Person
, который обеспечивает тот же интерфейс, что и унаследованная таблица. (Добавить на вставку, при обновлении и по удалению триггеры по мере необходимости).
У подхода есть проблема с тем, что после нескольких изменений у нас могут появиться семантически корректные имена.
Есть ли известная передовая практика для «обмена имен» схемы «интерфейс» в соответствии с версией БД?
В качестве альтернативы, существует ли лучший способ поддерживать обратную совместимость?
Спасибо за ваш ответ! Мой друг просто дал мне [пример] (http://pastebin.com/UmbTABVp) предлагаемого вами решения. – Samuel