2016-09-09 2 views
0

Я использую Postgres Version 9.1, и у меня возникли проблемы с просмотром прошлого VIEWS, который я создал.Как сохранить сценарий CREATE VIEW в postgres, а не VIEW DEFINITION

Как только я создаю VIEW, Postgres перебирает текст CREATE VIEW, поэтому он очень нечитабелен.

Например, я мог бы создать простой VIEW как:

create view some_view as 
select * 
from some_table 
where some_column = 'some_value'; 

Это тогда превращается во что-то путь более сложный, как:

select [all columns...] 
from some_table 
where (((some_column = 'some_value'))); 

Теперь, это простой пример - однако, когда вам перейдите в несколько статей JOINS и WHERE или SUBQUERIES становится почти невозможно прочитать, чтобы отредактировать VIEW на более позднюю дату.

(Точное местоположение по VIEWS хранятся в information_schema.pg_views, если кто-нибудь захочет посмотреть.)

По этой причине я сохранить CREATE VIEW сценарии в виде отдельного .sql файла, однако это может получить налогообложение и, очевидно, имеет ответственность за несинхронизацию с текущим VIEW в базе данных Postgres (если вы обновите VIEW, но не обновляете файл .sql).

Было бы намного проще, если бы был сохранен простой текст CREATE VIEW.

Когда я создаю FUNCTION, он сохраняет сценарий целиком, как это со всеми бело-пространстве и т.д.

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

Так что мой вопрос в том, есть ли какое-то место в базе данных Postgres, где фактический текст сохраняется из инструкции CREATE VIEW для последующего просмотра/редактирования.

спасибо.

+2

Вы находитесь на правильном пути, чтобы сделать это в сценариях SQL. Просто никогда не изменяйте базу данных вручную, всегда развертывайте изменения через свои сценарии (которые, конечно же, должны храниться в системе управления версиями, такой как Git или Subversion). Такие инструменты, как Liquibase, помогают вам со всем этим –

+0

Благодаря @a_horse_with_no_name, я недавно реализовал систему управления версиями с Git, и это работает, и если это правильный путь, то пусть будет так. Оценил. –

ответ

0

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

а) Поддерживайте ваши скрипты SQL в отдельных файлах
б) имеют надлежащую систему контроля версий (Git и т.д.)
с) Deploy из системы управления версиями

Done Deal.