問題タブ [migratordotnet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - migratordotnet を使用して、移行が最新かどうかをどのように確認しますか?
データベースの移行を管理するためにmigratordotnetを使用しています。このようにアプリケーションのセットアップでそれらを実行していますが、アプリケーションの起動時に移行が最新であることを確認し、最新に移行するオプションを提供したいと思います。適用する必要がある利用可能な移行があるかどうかを確認するにはどうすればよいですか? このように適用された移行を取得できることがわかりました
私はこのようなことをするのが好きです:
.net - Fluent NHibernateとmigratordotnetはうまく連携しますか?
私はDBを構築するためのFluentNHibernateが大好きですが、これまでのところ、私のトラックで私を止めている制限を見つけていません。
ただし、現在のプロジェクトでは、製品ライフサイクルの非常に早い段階で本番環境にリリースする予定であるため、進行するにつれてdbスキーマに多くの小さな変更が加えられると予想しています。
migratordotnetなどのツールを使用して、「移行」におけるこれらのDDLおよびDMLの変更を追跡したいと思います。しかし、私の質問は、これら2つのツール(または同様のツール)を一緒に機能させることは可能ですか?
DRYの精神で、Fluent Nhibernateのマッピングからスキーマの変更をどのように導き出すことができますか?これは可能ですか?
または、スキーマ生成をmigratordotnetなどのツールに任せ、Fluent NHibernateにマッピングのみの責任を任せるためのより良いアプローチはありますか?うーん、これはツールレベルでの関心の分離のように思えます。
乾杯!
data-migration - Up() で Migrator.net ドロップ テーブル、Down() で何をすべきか?
プロジェクトにMigrator.netを実装しており、現在のスキーマからテーブルを削除しています。私のUp()
単に含まれていますDatabase.RemoveTable("FooTable")
。しかし、今、私は自分のために何をすべきかについて少し途方に暮れていますDown()
. 上の変更について、過去のすべての移行を手動で解析する必要がありFooTable
ますか? のFooTableで以前のすべての移行を実行する方法はありDown()
ますか?
c# - 2 つの異なるアセンブリ バージョン「見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません」
私が取り組んでいるプロジェクトでは、NHibernate 用の Mysql コネクタ (Mysql.Data.dll) を使用する必要があります。同じプロジェクト内の別のプロジェクト (Migrator.NET) も参照したいと考えています。問題は、Migrator.NET が特定のバージョン = false の MySql.Data への参照を使用してビルドされているにもかかわらず、そこにあるバージョンを使用するだけでなく、ライブラリがビルドされた MySql.Data の古いバージョンを参照しようとすることです。 ..そして、タイトルにリストされている例外を取得します:
----> System.IO.FileLoadException : ファイルまたはアセンブリ 'MySql.Data, Version=1.0.10.1, Culture=neutral, PublicKeyToken=c5687fc88969c44d' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)
メイン アセンブリで参照しているバージョンは 6.1.3.0 です。2 つのアセンブリを連携させるにはどうすればよいですか?
編集:
アセンブリ バインディング リダイレクトを指定している方のために、次のように設定しました。
これを別のプロジェクトのメイン アセンブリで参照していますが、それでも同じエラーが発生します。メイン アセンブリをローカルにコピーして他のアセンブリで使用する場合、app.config の設定を使用しますか?それとも、メイン アセンブリを参照するすべてのアプリケーションまたはアセンブリにこの情報を含める必要がありますか?
sql-server - データベースの移行をテストするにはどうすればよいですか?
Migrator.NETを使用して、アプリケーションのデータベース移行を作成しています。マルク・アンドレ・クルノワイエは次のように書いています。
アプリケーションのコードと同様に 、移行をテストする必要があります。浮き沈みコード。継続的なビルド プロセスの一部として実行し、できるだけ多くの異なるデータベースと環境でテストしてください。
それ、どうやったら出来るの?テーブルを作成する Up() メソッドと、同じテーブルを削除する Down() メソッドがあり、SQL Server を使用しているとします。テストはどのようになりますか?のようなシステム テーブルに対して SQL クエリを実行してselect * from sys.columns
、テーブルが作成されたかどうか、および適切な構造を持っているかどうかを確認する必要がありますか? NHibernate を使用している場合はどうなるでしょうか。
編集 Rails ActiveRecord Migrations の意味での移行を意味します (C# コードに基づいて小さなステップでデータベースを作成、変更、破棄します)。
EDIT 2 そして、移行をテストする必要があることについて読んだところです。ブログ投稿は、実際には Migrator の wiki からリンクされています。
c# - データベース移行コード ジェネレーター
プロジェクトにデータベース移行を導入し、データベースから初期移行スクリプトを生成できるようにしたいと考えています。これを行うためのコード生成ツールがあるかどうか疑問に思っていましたか? migrator.net を使用することを考えていましたが、コードを生成するツールを入手できる限り、何でも喜んで使用します。
msbuild - ClickOnce winforms アプリ内で MsBuild.exe を呼び出し、正しいパスを知るにはどうすればよいですか? (つまり、ユーザーのマシンで実行されます)
WinForms ClickOnce 展開の一部として、ユーザーの PC で MSBuild を実行したいと考えています。つまり、アプリケーションがダウンロードされて実行された後 (clickonce を介して)、アプリケーションはMigratorDotNetを使用してデータベースの更新を処理するために MsBuild を開始する必要があります。
Q - アプリケーションで MsBuild を確実に開始するにはどうすればよいですか? つまり、どのパスがインストールされているか、インストールされていない場合はどうすればわかりますか?
.net - MitratorDotNet (Migrator.Net) - SQL の up/down 移行ファイルだけで使用できますか?
migrator.net ベア マイグレーション フレームワークを使用して、アップグレード/ダウングレードを行うための SQL ファイルのセットだけを使用できますか? つまり、フレームワークを使用してデータベースのバージョンや実行するスクリプトなどを確認するだけですか?
ありがとう
c# - MigratorDotNet を使用してデータベースにインデックスを追加するにはどうすればよいですか?
MigratorDotNet を使用しているときにインデックスを作成するための正しい方向を教えてもらえますか?
複数列のインデックスが必要なテーブルがいくつかあります。
ありがとう
c# - .NET 移行: 実行時に複数のデータベースをセットアップして移行する
簡単な紹介: この ASP.NET Webforms サイトには、データベースが 1 つだけではなく、多数あるという特殊性があります。なんで?その場でサイトの新しい「インスタンス」を作成できるからです。すべての「インスタンス」は同じコードベースを共有しますが、独自のデータベースを持っています。これらのデータベースはすべて同じスキーマ (構造) を持っていますが、もちろん異なるデータを持っています。「すべてを 1 つのデータベースに入れ、InstanceId を使用してどれがどれであるかを確認してみませんか」と尋ねないでください。これはビジネス ポリシーの問題だからです。
アプリケーションは、URL によってどのインスタンスが要求されているかを認識しています。これを実現するための追加のデータベースが 1 つあります (設計時にその接続文字列を知っています)。このデータベースには 2 つのテーブルしかなく、URL を「アプリケーション インスタンス」に関連付けます。そしてもちろん、各「アプリケーション インスタンス」には、関連付けられた接続文字列があります。
現在の状況:現在、すべてのインスタンス データベースの同期を維持する (すべてのインスタンス データベースにスキーマの変更を伝達する) 作業を支援するために使用されているものはありません。そのため、手作業で行っていますが、もちろん完全に混乱しています。
質問:スキーマの変更を処理するために rails-migration の方法を使用したいのですが、できればmigratordotnetを使用したいと考えていますが、セットアップが簡単であれば他の方法を使用することもできます。
問題は、migratordotnetが接続文字列をproj.buildファイルで宣言する必要があり、実行時までわからないことです。
本当に役立つのは、最新の移行をすべてのデータベースに適用するApplication_Startで実行される何らかのメソッドです。
これは、 migratordotnetなどでどのように行うことができますか? 他の提案はありがたく歓迎します。
ありがとうございました!