0

私は最近、主に Rails 開発者になることに切り替えました。私が理解していないことの 1 つは、アプリケーションがローカル マシン上で運用モードにあるときに開発者が不注意な間違いを犯さないようにする方法です。Heroku と MongoLab を使用しているため、ローカル マシンから本番環境のリソースにアクセスできます。これは、実稼働環境で発生した問題をローカル マシンを使用してデバッグする必要がある場合に非常に役立ちます。ただし、これにより、チームの誰かが現在ローカル サーバーを本番モードで実行していることを忘れて、データベース内のすべてのレコードを削除するなど、誤って何かを台無しにしてしまう可能性が非常に高くなります。

不注意なミスの発生を防ぐ方法について、ベストプラクティスを持っている人はいますか?

4

2 に答える 2

1

rails c production --sandbox

記録を管理する目的でそこに行く場合を除き、常に. この--sandboxフラグは、コンソール セッション全体をデータベース トランザクションにラップし、終了時に行ったデータベースの変更をロールバックします。

しかし、他の人が言ったように、実稼働環境で何かをテストする必要がある場合は、実稼働環境をより厳密に模倣するように開発環境をセットアップする必要があります。Heroku のようなクラウド サービスでは少し難しいことは承知していますが、かなり近づけることはできます。

于 2012-10-02T04:47:06.940 に答える
1

これを行うための「ベスト プラクティス」はありません。あなたが探しているのは、ワーストプラクティスを使用するためのベスト プラクティスです。開発マシンが本番データベースと通信できるようにする方法は絶対にありません。

運用資格情報はバージョン管理システムに含めるべきではないため、誰も開発マシンから運用データベースにアクセスできないようにする必要があります。

本番環境で本当にテストしたい場合は、実際の本番サーバーから離れたワークステーションで「本番」データベースをローカルに構成し、本番データをそこにコピーします。

于 2012-10-02T05:39:56.133 に答える