2016-09-09 11 views
0

私はPostgresバージョン9.1を使用しており、私が作成した過去VIEWSのレビューにいくつかの問題があります。ビュー定義ではなく、ポストグルでCREATE VIEWスクリプトを維持する方法

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'))); 

- しかし、ときに複数のJOINSWHERE句に入るか、またはSUBQUERIESとなり、後でVIEWを編集することはほとんど不可能になります。

しかし、これは課税を得ることができ、私は別の.sqlファイルとして私CREATE VIEWスクリプトを保存しているため

VIEWSが保存されている正確な場所は、誰が見て気にならば。information_schema.pg_viewsである)と明らかに持っていますPostgresデータベースの現在のVIEWと同期していないという責任があります(VIEWを更新したが、たとえば.sqlファイルを更新しない場合)。

CREATE VIEWのプレーンテキストを保存した方がずっと簡単です。

私はFUNCTIONを作成すると、それはなど、すべての空白であるとして完全にスクリプトを保存し

これは、それを確認し、それがあることが必要であるかどうかを確認するために、後日、それは非常に簡単になります可能性のあるエラーを修正または修正しました。

私の質問は、実際のプレーンテキストが後でレビュー/編集のためにCREATE VIEWステートメントの保存されているPostgresデータベースにいくつかの場所がある場合です。

ありがとうございます。

+2

これはSQLスクリプトでこれを行う正しい方法です。ただ手動でデータベースを手動で変更することは決してありません。常にスクリプトを通して変更を展開してください(GitやSubversionのようなバージョン管理システムに保存する必要があります)。 Liquibaseのようなツールはすべてあなたに役立ちます –

+0

ありがとう@a_horse_with_no_name、私は最近、Gitでバージョン管理システムを実装しました。これはうまくいきます。もしこれが正しい方法ならば、そうしてください。感謝。 –

答えて

0

たとして、正しい答えはにある:

A)等の適切なバージョン管理システム(Gitのを、持っている)別々のファイルに
Bをお使いのSQLスクリプトを維持する)
c)の展開バージョン管理システムから

完了しました。

関連する問題