開発者は、prodを含むすべてのデータベースへの読み取りアクセスが必要です。問題は、Prodのデータが期待したものではなく、devで再現できないため、問題の原因となっているデータを確認する必要がある場合があります。
開発者は、本番データの書き込み権限またはオブジェクトを作成する権限を持ってはいけません。公式リリースの一部ではない製品は何もすべきではありません。あまりにも多くの場合、人々は機能しない製品を簡単に修正して、製品をさらにマックアップしたり機能させたりしますが、コードを開発/ QA /ステージングサーバーに入れるのを忘れ、さらに悪いことにソースに入れます制御リポジトリとコードは、次の公式リリースで約1か月後に上書きされます。
別のサーバーにデプロイすると、開発プロセスにギャップがあるかどうかを確認するのに役立つため、開発者は完全なデータベースQA権限を持っていることをお勧めしますソース管理のスクリプトではなくGUIを使用します。これは、データベース構造の変更が必要な方法です)。
独自のサーバーセットを使用する新しいエンタープライズタイプのクライアントを使用している場合、公開する前にアクセス許可を緩和することができます。これは、非常に多くのことを行う必要があり、それをprodで実行できる少数の人々が未処理になり、場合によっては休暇を取る必要があるためです。特に、別のシステムからデータをインポートするユーザーは、データロードに時間がかかる場合、起動前にそれらをprodに配置するタスクを課される可能性があります。これらの人々はデータの専門家である傾向があり、平均的なアプリケーション開発者よりも一時的な製品へのアクセスを許可することで、より高い快適レベルがあります。これは、既に稼働している実稼働サーバーにアクセスするときの贅沢ではありません。
データベースへの本番権限を制限することに関して最も重要なことの1つは、開発者が自分の作業が他の誰かが展開できる形式であることを確認する必要があることです。これは、彼らが何かを忘れたため、またはメモリだけに依存している場合のprodとは異なる方法で何かを行ったためにその場で修正しようとしないため、作業の品質を改善する傾向があります。また、prodの展開が、devsの典型的なように一度に1つのコマンドではなく全体として実行されるスクリプトを純粋に使用している場合、「where句をハイライトするのを忘れたため、誤ってユーザーテーブル全体を削除した」製品で物事を実行します。prodデータベースに対する制限された権限を持つチームは、データベースの変更をソース管理にも保存する可能性が高くなります。