問題タブ [fluent-migrator]
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.
nant - NAnt&FluentMigratorのセットアップ
たくさんの移行を伴うプロジェクトがあります。migrator.exeを使用して手動で実行できますが、NAntで動作させるのに苦労しています。
次の内容の*.buildファイルがあります。
これを実行すると、次の出力が得られます。BUILD FAILED
私はdepends.exeを探しに行きましたが、そのサイトはダウンしているようです。これを機能させる方法について何かアイデアはありますか?私がこれをすべて間違ってしているなら、私はここで完全に新しいアイデアを受け入れます。
======完全なソリューションのために更新======
会長とarmen.shimoonは彼らの答えで何かに取り組んでいました。
ステップ1、FluentMigratorとFluentMigrator.Toolsを1.0.5.0に更新しました。ツールはまだ1.0.3.0のままでした。
2番目のステップは、ビルドファイルを更新して.NET4.0dllを参照することでした。両方の組み合わせで問題は修正されましたが、.NET4.0dllを参照するまで改善は見られませんでした。
これが将来の参考のために私の現在の.buildファイルです:
fluent-migrator - 流暢な移行者。現在の日付としてデフォルト値を持つdatetime列を追加する方法は?
現在の日時であるデフォルトの日時値を使用して流暢な移行で列を変更するにはどうすればよいですか?
だから私はこのようなsmthが必要です:
ALTER TABLE database ADD column DATETIME DEFAULT GETDATE() NOT NULL;
流暢な移行のみ。ありがとう。
c# - fluentmigrator で SQL スクリプトを実行する
私はSQLスクリプトを持っています:
Fluentmigrator を使用します。
正常に実行され、SQL を追加すると、次のようになります。
Fluentmigrator での実行が失敗し、Oracle exeption {"ORA-00911: invalid character"}
.
私のデータベースはOracle dbです。
どうしたの?
visual-studio - FluentMigrator を使用して特定のバージョンにロールバックするコマンド ライン引数を作成する方法
Visual Studios のプロジェクトにいくつかのテーブルを追加しました。しかし、FluentMigrator を使用して以前のバージョンにロールバックしたいと考えています。ただし、いくつかのバージョンをロールバックするために使用するコマンドを指定する場合、Git Web サイトはあまり役に立ちません: https://github.com/schambers/fluentmigrator/wiki/Command-Line-Runner-Options
このコマンド ライン引数を実行すると、最後に追加した 2 つのファイルが元に戻りますか? コマンド「rollback:toversion -- version 2」を追加しましたが、この権利を使用しているかどうかは完全にはわかりません。
entity-framework - EntityFrameworkコードベースの移行、順序はどのように決定されますか?
EF 5.0を使用していますが、コードベースの移行の使用を開始したいと思います
私は流暢な移行者を使用しましたが、移行順序の概念があります。データベースの移行バージョンに関係なく、移行は移行/ロールバックできます。
Entity Frameworkにも同様の機能がありますか?
私は、データベースのバージョンごとに複数の移行実装を維持することを計画していました(最初はスプリント番号に関連付けられている可能性があります)。
なぜこれが欲しいのですか?
継続的インテグレーションにより、環境ごとにデータベースが移行されます。Devビルドは「遅れている」バージョンが1つしかない可能性がありますが、QAまたはPROD環境に移動すると、データベースは複数の移行によって遅れます。
たぶん私はこれを間違った方法で行っているのかもしれません。その場合、CIで移行を行うための最良の方法についての意見を聞きたいと思います。
fluent-migrator - Calling FluentMigrator methods inside Execute.WithConnection action
Calling FluentMigrator's builder methods while inside the action that I pass to Execute.WithConnection
causes a null reference exception to be thrown.
What I am trying to do is select some data so that I may manipulate it in c#, as that is easier than manipulating it in T-SQL, and use the result of my c# operations to update the data or insert new data (to be more specific, I need to pick one query string parameter out of a stored url string and insert it somewhere else).
The only way I see to select data within a migration is to use Execute.WithConnection
and retrieve the data myself (FluentMigrator provides no helpers for selecting data), but if I try to use any fluent migrator expression in the action I pass to Execute.WithConnection
a null reference exception is thrown.
Here is a boiled down version of my code:
The line that calls Inser.IntoTable causes a null exception to be thrown from line 36 of FluentMigrator\Builders\Insert\InsertExpressionRoot.cs
- it appears that the _context variable may be null at this point but I do not understand why this is. (when testing Create.Table, e.g., it occurs on line 49 of FluentMigrator\Builders\Create\CreateExpressionRoot.cs
)
Any help would be appreciated. Perhaps there is disagreement on whether DML is appropriate in a migration, and I am open to suggestions, but this scenario has come up twice this week alone. For now I am simply performing the insert using my micro-ORM within the action rather than FluentMigrator and that does work, but it seems like what I am trying to do should work.
c# - C#での統合テストのためにデータベースデータをシードする方法は?
私は最近、ASP.Net MVCコントローラーアクションに対していくつかの統合テストを作成しており、テストを実行するために存在する必要のあるテストデータを設定するのが難しいことに不満を感じています。
たとえば、コントローラーの「追加」、「編集」、「削除」アクションをテストしたいと思います。「追加」テストをうまく書くことはできますが、「編集」テストを書くには、「追加」テストのコードを呼び出してレコードを作成し、編集できるようにする必要があることがわかります。テストクラスで多くのセットアップを行いますが、どちらも特に魅力的ではありません。
理想的には、統合テストフレームワークを使用または開発して、統合テストに再利用可能な方法でシードデータを追加しやすくし、アレンジ/アクト/アサートテストのアレンジの側面で、特にアレンジする必要があるもののアレンジに集中できるようにします。テスト中のコードに間接的にのみ関連する参照データのロードを配置することではなく、私のテスト。
私はたまたまNHibernateを使用していますが、データシード機能はそれを認識せず、データベースを直接操作できる必要があると思います。ORMは変更される可能性がありますが、私は常にSQLデータベースを使用します。
私はNUnitを使用しているので、テスト/テストフィクスチャのセットアップ/ティアダウンに接続することを想定しています(ただし、優れたソリューションは他のテストフレームワークに転送できる可能性があると思います)。
私はメインプロジェクトでFluentMigratorを使用してスキーマと参照データのシードを管理しているので、ソリューション全体で一貫したアプローチのためにFluentMigratorフレームワークを使用できることは素晴らしいことですが必須ではありません。
だから私の質問は、「C#での統合テストのためにデータベースデータをどのようにシードするのですか?」です。SQLを直接実行しますか?フレームワークを使用していますか?
entity-framework - データベース移行のためだけに Entity Framework コードを最初に使用しても問題ありませんか?
現在、RoundhouseEを使用してデータベースの移行を管理していますが、これは非常にうまく機能します。
私は、 FluentMigratorなどのさまざまな移行作成テクノロジを調べてきました。ただし、ほとんどのエラーは厳密に型指定されていないため、エラーの可能性は非常に高いようです。たとえば、これは FluentMigrator からの移行です
以前は Entity Framework のコード ファーストを使用していましたが、コード ベースの移行を生成して後で必要な変更を加えることができるという点で移行エンジンが非常に気に入っています。ただし、EFフレームワークの残りの部分は本当に必要ありません。探しているものには少し重いです。
移行に EF を使用するだけで、残りの部分を気にしないことは許容されるでしょうか? 素敵なroundhouse プラグインもあります
私が使用しているデータのほとんどは、PetaPoco や Dapper のようなものに対してフラットであり、ORM の観点からはより軽量なソリューションのようです。
msbuild - Fluent Migrator は .NET Framework 4.5 をサポートしていますか?
最近、FluentMigrator とその機能について聞いて、本当に驚きました。これを .NET Framework 4.5 の新しいプロジェクトで使用したいと思っています。github をチェックインしたところ、最新のリリースが 3.5 と 4.0 をサポートしていることがわかりましたが、言及されていませんでした。約 4.5 で、流暢な移行ツールを使用して 4.5 に関するニュースを検索しましたが、満足のいく結果が得られなかったので、.NET Framework 4.5 で流暢移行ツールを使用できるかどうかを知りたいです。