2017-11-23 10 views
0

私は、移行を使用してバックエンドアプリケーションを開発する際、時間の経過とともにデータベーススキーマを維持することにかなり精通しています。たとえば、新しい列を追加すると、新しい移行ファイルが作成され、最終的にはプロダクションにプッシュされた後に適用されます。データベースのライフサイクルにわたるデータの更新と更新

しかし、私は一回限りのデータ更新については少し不明です。特定の顧客は、そのデータセットに軽微な変更を加えたいと考えるかもしれません。時間の経過とともにこれらの特定の変化を維持し、記録するための慣例はありますか?

答えて

0

あなたの質問は、事実上の答えが実際にはないので、SOルールにはあま​​り適していません。それは非常に広範かつ意見ベースですので、我々がダウンして、いくつかの票を拾うかもしれない...個人的に

、私はこのようなもののそれらの並べ替えを管理したい:

  • システムは、直接SQLを実行するための施設があり、
  • サポートチームをロックダウンされた顧客に与える
  • 、仕事を遂行するためにSQLを記述し、顧客が修正を適用/ SQL
  • 任意の監査、ロギングを実行し、バックアップは更新が適用され、あなたのシステムのための作業です。移行と同様の戦略を採用することはおそらく賢明でしょう(何時に、いつ、なぜ、更新が繰り返されないかを記録する表)

公開されていれば施設として持っているのはかなり危険です無料ですが、それに対抗するための無数の方法があります。顧客ごとにpub/privキーペアを作成し、それを顧客に渡す前にsqlを暗号化すると、システムはsqlを正常に復号化します。チームはprivキーの唯一の所有者です。実行可能なsqlsを書くことができます。

私は、マイグレーションスタイルのワークフローで、ソースコントロールと組み合わせてこれを行うことは賢明でも実行可能ではないと思います。なぜなら、顧客固有のものをコアコードベースから時間の経過とともに管理上の悪夢にならない方法

+0

今後の投稿には、意見ではなく特定の問題に関する質問があります。応答していただきありがとうございます。 – J3Y

+0

私は一般的にフォーラム形式の恋人だから、意見に基づいた質問に答えるのに問題はありません。奇妙なDVを拾っても結構です。それはちょうど参考になりましたあなたの質問はDV/closevotesを取得します。私たちのような人たちは、悪意のある人たちを捨てるような人たちについては確信しています:) –

+0

ええ、私は間違いなくそれを見ることができます。時々、私はXYZフレームワークで特有の問題ではなく、トピックについて議論したいと思っています。 – J3Y

関連する問題