PostgreSQLの重複したテーブル名のベストプラクティス
-
20-09-2019 - |
質問
私の会社は、我々が構築し、ウェブサイトに配備するアプリケーションの一握りを持っています。最近、非常に古いアプリは側面に沿って含まれるように、新しいアプリを必要とし、両方のアプリケーションで使用するために必要な重複するテーブル名/ wの競合がありました。
私たちは、古いアプリの更新プロセスに今あると、いくつかのDBの更新があるでしょう。私は人々がこれらの名前の衝突が起こらないよう支援するための練習(またはどのようにあなたがそれを行うのです)、最良と考えるもの興味があります。
私は、スキーマのを見てきましたが、私たちが撮りたい正しい道thatsの場合はわかりません。 ドキュメントは、Iをの規定通りアプリケーションの中には「線」とは、特定のスキーマ名をしたくないと私は、スキーマのは、ユーザーの検索パスに追加した場合、どのように私は2つのスキーマのは、同じテーブル名を持っている場合に言及されたテーブルを知っているだろう。けれども、多分私はこれにあまりに読んでいます。
知恵の任意の洞察力や単語をいただければ幸いです!
解決
Postgresは間違いなく、そういったことを処理する最も効率的な方法で名前空間を持っています)。
ただ、古いデータベースの新しい名前空間を作成し、あなたは完了です。ほとんどのPHP / MySQLのソリューションは、(アプリごとに固有の接頭辞を)それを解決方法も選択肢ではなく、私がお勧めしたいものです。
[編集]具体的には、あなたはthe_namespace.tablename
を変更する以外に、このsearch_path
ようなあなたのテーブルを呼び出すことができます。あなたが名前空間を追加しない場合は、残りのために、search_path
は、あなたの名前空間を決定します。