問題タブ [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.

0 投票する
1 に答える
369 参照

msbuild - Fluent Migrator は、実行時に Invalid character in path エラーをスローします

この問題が発生しました。MSBuild タスクを実行して移行を実行すると、エラーがスローされます。

移行の実行中に、次のエラーが発生しました: パスに無効な文字があります。


昨日追加した最後の移行を削除しました-同じ問題。
私が使用しているバージョンは NuGet の 1.1.0 です。

0 投票する
1 に答える
1104 参照

azure - FluentMigrator と Azure のデプロイ

複数の Web ロールが実行されているクラウド サービスを使用して、Azure でホストされる新しい ASP.NET MVC プロジェクトがあります。私の質問は、データベースの変更を行うために FluentMigrator を使用して運用展開を行う方法についてです。

TeamCity のデプロイ中に FluentMigrator を実行すると、最初にデータベースが更新され、次に複数の Web ロールへのデプロイが一度に 1 つずつ行われるように見えます。そのため、一部のユーザーは古いバージョンのサイトにアクセスし、新しいデータベース構造を使用して、不一致や例外のスローにつながると思われます。

FluentMigrator を使用して運用 Azure SQL データベース環境にデプロイするためのベスト プラクティス/提案は何ですか?

0 投票する
1 に答える
2047 参照

fluent-migrator - Fluent Migrator で合成外部キーを作成する方法

以下のコードのような外部キーを作成する必要があります。

明らかに、このコードは機能しません。どうすればこれらのようなことができますか?

ありがとう

0 投票する
1 に答える
450 参照

powershell - FluentMigrator のテーブル作成権限が拒否されました

私は走っています

C:\Dev\Migrate> MSBuild.exe .\build.proj /t:Migrate

fluentmigrateプロジェクト の powershell から

そして、次のエラーが発生します:

これがbuild.projです

接続文字列のユーザーの詳細からアクセス許可を取得する必要はありませんか? データベースの所有者として接続していますか?

0 投票する
1 に答える
790 参照

c# - FluentMigrator で規則を変更する

FluentMigrator でデフォルトの移行規則をオーバーライドする適切な場所はどこですか? ランナーで実行する必要がありますか、それとも移行内で実行する必要がありますか? それとも他の場所ですか?

具体的には、インデックスの命名規則を変更して、ServiceStack で使用されているものと一致させたいと考えています (例: IX_Foo_Bar=> uidx_foo_bar)。

プロパティを持つメソッドMigrationBase.ApplyConventions(IMigrationContext )が表示されます...移行内で独自のメソッドを作成する必要がありますか? すべての移行で同じ規則を使用したい場合はどうすればよいですか?IMigrationContextIMigrationConventionsMigrationContext

0 投票する
1 に答える
6508 参照

.net - FluentMigrator を既存のデータベースで使用する

データ アクセス コードを生成するために CodeSmith を必要とする古い ORM である .NetTiers を使用する既存のプロジェクトで動作する移行フレームワークを探しています。

ラウンドハウスの経験があり、使用に成功しています。また、Octopus Deploy からデプロイを実行するときに、スキーマの変更を自動的にデプロイすることもできます。これは単なる SQL スクリプトの集まりであるため、かなり簡単です。

FluentMigrator への移行に関心があります。私は FM DSL が好きで、この SO の質問は非常に便利であることがわかりましたが、理解できないことがいくつかあります。

  1. 既存のデータベース スキーマ [*] をインポートする正しい方法は何ですか?
  2. 本番環境に移行を展開する正しい方法は何ですか [**]?

[*] SQL Server ツールを使用して単一のスクリプトを生成し、最初の移行として ExecuteEmbeddedSql を使用すると仮定しています。あれは正しいですか?

[**] 移行を実行するには、主に 3 つの方法があるようです (コマンド ライン、NAnt ランナー、MSBuild ランナー)。実行するには、データベースにアクセスする必要があります。これを PROD 環境にデプロイするとします。開発者とビルド サーバーは、この環境にアクセスできません。これらのランナーをその環境に対してどのように実行しますか?

通常のデプロイ プロセスでは、デプロイの一部としてデプロイする必要がある SQL スクリプトのコレクションを作成します。Ops はこれらを展開の一部として実行します。Octopus Deploy プロセス (powershell) の一部として自動的に実行されるか、展開が Octopus の外部にある場合は手動で実行されます)。

この特定のプロジェクトで発生する複雑な問題の 1 つは、.NetTiers です。これは、.NetTiers を使用して CodeSmith コード生成を実行し、データ アクセス層を構築してから、それらのエンティティとデータ サービスに対してコードを作成する必要があることを意味します。したがって、ワークフローは次のようになります。

  1. 書き込み移行
  2. 移行を実行してデータベースをアップグレードします (特定の .NetTiers データベースをターゲットにします)。
  3. 特定の .NetTiers データベース (中央ビルド サーバー) に対して .NetTiers を実行します。
  4. 新しく生成された .NetTiers エンティティ、データベース フィールドなどに対するコード

.NetTiers をダンプしたいのですが、残念ながらリファクタリングは現在実行可能なオプションではありません。