2

私は C# プログラミングは初めてで、Ruby on Rails を使って最近始めたところです。RoR では、データベースのスキーマ マイグレーションを記述できることに慣れています。C#/SQLServer プロジェクトで同様のことができるようにしたいと考えています。

VS 2005 ツールセット用のツールはありますか?

VS 2005 の外部で直接 SQL Server で RoR 移行を使用するのは賢明でしょうか? 言い換えれば、ActiveRecord:Migration from Rails を使用してすべてのスキーマのバージョン管理を処理しますが、それ以外は何も処理しません。

C# および VS 2005 以外の移行を別のツールで処理する場合、RoR ActiveRecord:Migration を使用するのが最適ですか、それともより適したものがありますか?

4

4 に答える 4

0

VS Team Edition の Database Edition がなければ、これを行う組み込みの方法はありません。これに似た NANT スクリプトを使用し、Ruby と同様の日付で移行ファイルに日付を付けます。

http://www.bottleit.com.au/blog/post/Continuous-database-integration.aspx

于 2010-06-15T14:54:16.533 に答える
0

データベースのバージョン管理を処理するDBDeploy.NETに満足しています。現在のプロジェクトでは C# + SQL 2008 を使用しています。DBDeploy は Visual Studio に統合されていませんが、IDE のカスタム外部ツール エントリを使用して実現できると思います。

確かに機能するツールは他にもあります。私は Ruby ActiveRecord:Migration に詳しくありませんが、この特定のツールの使用経験が既にある場合は、それを使い続けてみませんか? Visual Studio 内のデータベースのバージョン管理/移行に関しては、Database Professional Edition にアップグレードする必要があると思います (このバージョンの追加費用は最後に確認しました)。

要約すると、私はあなたが知っていることで行きます。DB のバージョニング用の無料ツールのほとんどは、現時点ではまだ中途半端です。DBDeploy.NET の詳細については、ここから移植された元のプロジェクトを参照してください。http://dbdeploy.com/ また、DBDeploy ツールはクロスプラットフォームであることに注意してください (多くのSQL Server と Oracle だけでなく、DB システム) とオープンソース。

于 2010-06-15T15:47:40.283 に答える
0

DBSourceTools を試してください。http://dbsourcetools.codeplex.com
オープン ソースであり、特に開発者のバージョン管理データベースを支援するように設計されています。

于 2010-07-21T01:50:00.767 に答える
0

アプリケーションを配布するための私のお気に入りのアプローチは、実際には社内で構築されたバージョン管理とデータベースです。

データベースの拡張プロパティを使用して、現在のディスク上にデプロイされたスキーマ バージョンを保存し、次に、ディスク上のバージョン => アップグレード スクリプトから次のバージョンへのマップを維持する内部アップグレード アレイを実行します。起動時に、アプリは、ディスク上のバージョンが現在のアプリのバージョンと一致するまで、アップグレード アレイ内のステップを実行します。したがって、アップグレードはすべての中間バージョンを通過します。新しいサイト (新しい場所) の展開は、すべてのスキーマ バージョンを通過し、使用されなくなったオブジェクトを作成および削除することがあります。これは奇妙に思えるかもしれませんが、最終的には、以前にリリースされたどのバージョンでもアプリケーションをデプロイできます。クライアントが 3 年前のスキーマを持っていて、誰もがその内容を忘れていたとしても、アプリはそれを常に最新の状態にする方法を知っています。これは素晴らしいことです。

テストが可能で、アップグレード時に実行される正確な手順をより適切に制御できるため、差分比較ツール (VS DB プロジェクト統合など) よりもこのアプローチを好みます。差分ツールは、テーブルのコピーや名前の変更など、あらゆる種類の疑わしいアクションを実行しますが、これは +1 TB を測定する展開では機能しません (これは私のアプリが対処する必要があります)。

予想されるデータ サイズがかなり小さい (<100 Gb) 場合は、差分ベースのツールを検討します。vsdbcmdに基づく VS DB プロジェクトの展開は、このような状況で正常に機能します。また、展開ターゲットが 1 つの場所 (つまり、ターゲットが 1 つしかない Web アプリ、Web サイト db) の場合、以前のバージョンをアップグレードする機能は魅力を失います。

于 2010-06-15T17:33:05.333 に答える