問題タブ [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.
c# - 移行スクリプトを毎回実行する
最後の移行スクリプトとして実行する必要がある特定の DB スクリプトがあり、DB で移行を実行するたびに実行する必要があります (以前に実行された場合でも)。
非常に大きな移行 ID を使用して、この移行が最後に実行されるようにすることができます。ただし、毎回この移行を強制的に再実行する方法がわかりません。実行すると、dbo.VersionInfo
テーブルに追加され、次に FluentMigrator がそのテーブルでそれを確認したときに、再度実行されません。
以前の実行に関係なく、毎回このスクリプトを実行するように FluentMigrator に指示する移行属性はありますか? (Migration
基本クラスには、これをオーバーライドするものはありません。)
FluentMigrator 1.4 を使用しています。
編集:
これは、データベース内の一部のデータをクリーンアップするデータ移行です。職場には多数のデータベースがあります (同じスキーマ、異なるデータ)。1 つの特定のテーブル ( と呼びましょうdbo.A
) には、すべてのデータベースで同じ順序で同じデータが含まれている必要があります。移行を使用してこのテーブルにデータを追加しますが、特定の DB で実行される移行によっては、 のインスタンスdbo.A
が同期しなくなることがあります。
この移行の目的は、 のすべてのインスタンスにdbo.A
同じデータが同じ順序で含まれるようにすることです。その列は外部キーとして使用されるdbo.A
ため、削除して再作成することはできません。ID
可能であれば、移行ソリューションが必要です。移行は、展開の一部としてすべての環境で実行されることが保証されている唯一のものであり、これを変更することは非常に難しいためです。(FluentMigrator でこれができない場合は、おそらく選択肢がありません。)
c# - FluentMigrator - リソース ファイル/スクリプトの実行
FluentMigrator を使用してデータベースの 1 つを移行しようとしています。移行の 1 つがスクリプトの実行を試みます。「DLL を同僚に送りたいだけ」と思ったので、SQL スクリプトをリソース ファイルとして DLL にパックし、アクセスしようとしましたが、スクリプトが見つからないようです。
移行
リソース ファイル
プロジェクト構造
エラー
201506021451: M116_Init_RoleManagement 移行 ======================== トランザクションの開始
トランザクションのロールバック
不正なサインイン パス
c# - Fluent Migrator 単体テスト: 接続の保持
プロジェクトで行われたすべての移行で上下の移行が正常に許可されるように、単体テスト プロジェクトを作成しようとしています。
これを行うために2つの単体テストを作成することで、これを達成しようとしています。
設定:
- NUnit
- EntityFramework
- LocalDB FluentMigrator とランナー
これは、単体テストのセットアップです。これらすべてのテストが使用する LocalDb データベース (v11) へのリンクである接続文字列があります。
これは、すべての移行を呼び出すために使用する移行ランナー ハンドラ クラスです。
問題は、テストのティアダウン時に、FluentMigrator がデータベースへの接続を保持しているように見えることです。データベースで sp_who を実行すると、データベースに残っている「AWAITING COMMAND」である「スリープ」プロセスがデータベースにあることが示されます。これは、「データベースが使用中」であるため、テストの TearDown が一時データベースの削除に失敗することを意味します。
ランナーを調べると、この接続を閉じる方法が見つからないようです。関連するすべてのコンポーネントのタイムアウトを変更しようとし、接続文字列で「プーリング」をオフにしようとしましたが、どちらも機能しませんでした。
この接続を閉じる方法、または確実に閉じる方法はありますか?
ありがとう
c# - Oracle.ManagedDataAccess には通常の DataAccess DLL が必要ですか?
FluentMigrator を使用し、Oracle データベースに接続してクエリを実行するアプリケーションがあります。以前は、これを行うために Oracle.DataAccess を利用していました。しかし、今は Oracle を使用するように依頼されています。管理されたデータアクセス; これは私が問題を抱えているところです。
アプリを実行すると、「Oracle.DataAccess」またはその依存関係の 1 つが見つからないというエラーが表示されます。Oracle.DataAccess のすべての参照を Oracle に変更しました。管理されたデータアクセス; ただし、私のアプリケーションはまだこの古い dll を必要としているようです。その通常の DataAccess dll をアプリと同じフォルダーに戻すと ( Managed DataAccessと共に); できます。
私の質問:オラクルですか。Managed DataAccess では、プロジェクトに通常の DataAccess dll も必要ですか? 私の理解では、Managed DataAccess はすべてを実行でき、外部依存関係はありません。
編集: Migrate.exe に渡されるパラメーターは、Oracle.DataAccess.dll の使用を意味しますか? おそらく私はそこで言及していて、それを認識していないのでしょうか?
c# - FluentMigrator で移行を開始する
データベースの移行を実行するには、FluentMigrator を使用する必要があります。FluentMigrator は、優れた使いやすいライブラリのようです。しかし、何か足りないと思います...移行を開始するにはどうすればよいですか? データベースの種類を設定するには? 接続文字列を設定するには?
GitHub で main() メソッドまたはエントリ ポイントが見つかりません
どうもありがとう!
mysql - fluentmigrator Guid MySQL タイプ
現在、列が (AsGuid() を使用して) Guid に設定されている場合、VARCHAR(40) として作成されます。これには理由がありますか?代わりに、CHAR(36) を使用するように更新できますか?
fluent-migrator - FluentMigrator - テーブルのアクセス許可を変更する方法は?
MSSQL データベースのデータベース移行ツールとして FluentMigrator の使用を開始しました。CRUD テーブル操作とシードに関する私のニーズのほとんどに対応しているようです。
ただし、テーブルを作成した後、テーブルのアクセス許可を構成する方法が見つかりません。
GRANT PUBLIC SELECT ON BLAH ステートメントを使用して .sql を実行するだけでよいことはわかっていますが、代わりに流暢な API を使用したいと考えています。
流暢な API を使用してアクセス許可を変更する方法を知っていますか?
c# - エンティティの EF 自動複数形化でテーブルの名前をプレビューする
このエンティティを使用すると、CodeFirst 規則を使用して、Table 属性を追加しない限り、エンティティのテーブルの名前が「PersonInfoes」になることがわかっています。
エンティティ名を指定してテーブルの名前をプレビューする方法はありますか? 彼らがそれを行う方法があれば、私もfluent-migratorを使用しています。このようなもの。