2011-02-04 2 views
0

私は他の人がこれをやっていると確信しています。私はちょうど行く最善の方法これを行うことについて。Webサーバー(asp.net)で個人的な開発を行う方法に関する提案/アドバイス - 開発中のWRGからデータベース管理へ

問題: 私は趣味として作成しているWebサーバーを持っています。これは私のモバイルアプリケーションをサポートしています。コードを操作するために使用する2台のマシンがあり、それらを同期させておく必要があるためです。私は開発のためにローカルDBを使って作業し、サイトを公開したいときにDBをホストに配備したいと思っています。問題は、2台のマシンでは、DBを同期させる方法がわかりません。さらに、データベースではそれほど良くはないので、VSに付属のスキーマ比較ツールのようなものを使用して、ホストDBとローカルDBを同期させたいと思っています。 1. Visual Studioの2010 2.ローカルSQL Expressの私はSQLを使用することができます 3.ホスティングサーバー:

は、ここで私は私の処分で持っているツールです。 4. Assembla/svn - 私はソースコントロールのためにそれを使用します。

現在私が行っていること: ローカルDBを使用する代わりに、開発用に私のホスト上にリモートDBを使用します。これについての良い点は、2台のマシンでDBを同期させる必要がないことです(開発用に同じリモートを使用しているので)。これに関して悪い点は、ホストがソースDBに必要な特定のプロパティをブロックするため、VSに付属のツールを使用してスキーマを同期できないことです。

あなたはどうやってこれをやっていますか?

答えて

0

これは、コード内にスキーマのメンテナンス(基本的にDDL(データ定義言語 - スキーマのメンテナンスのためのSQL)の一括処理)を備え、データベースにバージョンテーブルを含めることで実現します。

あなたはその後、言うのコードを実行することができます。データベースが存在しない場合、データベースが、バージョン番号がチェックしている場合はバージョンテーブル

  • 以外のスキーマでそれを作成し、その後

    1. バージョンが現在のバージョンよりも小さい場合は、スキーマを現在のバージョンに更新するクエリを実行します。
    2. バージョンが現在のバージョンよりも大きい場合、停止してアプリケーションを実行しないでください。

    ダウンサイドは、コードを維持するための少量の作業です。データベースのスキーマを同期させておくことは簡単です。

    ここに長い例があります。私は時間があるときにもう一度試してみます。

  • +0

    :(これは避けたいものですが、このようなことにはひどいです。答えをありがとう - 私はそれを感謝しますが、私が探しているものではありません(申し訳ありません)。 –

    +0

    コードSQL Server Management Studioを使用してSQLを生成することができますので、自分で行う必要はありません。残りは、あなたが既にやっていることだけです。 。 – Murph

    関連する問題