Лучшая практика использования повторяющихся имен таблиц в postgresql - PullRequest
0 голосов
/ 16 марта 2010

У моей компании есть несколько приложений, которые мы разворачиваем на веб-сайтах, которые мы создаем. Недавно к более новому приложению нужно было добавить очень старое приложение, и возник конфликт с дублирующим именем таблицы, которое необходимо было использовать обоим приложениям.

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

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

Буду очень признателен за любые идеи или слова мудрости!

1 Ответ

1 голос
/ 16 марта 2010

Postgres имеет пространства имен, что, безусловно, является наиболее эффективным способом обработки подобных вещей:)

Просто создайте новое пространство имен для старой базы данных, и все готово. Способ решения большинства PHP / MySQL решений (определенный префикс для приложения) также является вариантом, но я бы его не рекомендовал.

[править] В частности, вы можете называть свои таблицы следующим образом the_namespace.tablename, кроме изменения search_path. В остальном search_path определит ваше пространство имен, если вы не добавите пространство имен.

...