問題タブ [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 に答える
1217 参照

.net - FluentMigrator の失敗した移行はロールバックされませんか?

FluentMigratorの実験を始めたところです。失敗した移行がロールバックされていないことに気付きました。これはまだ実装されていないだけですか?データベースが壊れた状態のままになるため、これはかなり悪いようです。

たとえば、以下の移行は、Table1 を 2 回目に追加しようとすると明らかに失敗します (エラーを強制するためにこれを行っているだけです)。移行が失敗したときにロールバックされるトランザクションに含まれることを期待します。

ただし、代わりに、ランナーがエラーをスローし (コンソール アプリがクラッシュする)、データベースには Table1 が作成されたままになり、VersionInfo テーブルに行がありません。これは、物を放置するのは悪い状態のようです。

最新の FluentMigrator コード (今日現在)、Visual Studio 2008 を使用し、SQL Server 2008 Express に対抗します。

0 投票する
5 に答える
18076 参照

fluent-migrator - FluentMigratorを使用してnvarchar(MAX)の列を作成できますか?

FluentMigratorを使用すると、 Columnusingのデフォルトの作成はになり.AsString()ますnvarchar(255)。(FluentMigratorコードを変更する前に)タイプの列を作成する簡単な方法はありますnvarchar(MAX)か?

0 投票する
5 に答える
26073 参照

c# - コードからFluentMigratorの移行を実行する

FluentMigratorコード内から移行を実行するためのチュートリアルやサンプルコードはありますか?いくつかの「はじめに...」チュートリアルは素晴らしいでしょう。私が見つけたのは、ソース内のFluentMigrator.Tests(単体テスト)FluentMigratorだけでした。これは、「はじめに...」ほど役に立ちません。

プロジェクトにいくつかのクラスを追加し、外部ツールを使用せずに、そのプロジェクトからの移行を実行したいだけです。Fluent Migratorで可能ですか?何かのようなもの

どちらから電話しProgram.Main()ますか?

0 投票する
0 に答える
818 参照

sql-server - FluentMigratorおよびロック要求のタイムアウト期間を超えました

開発プラットフォームを(VirtualBoxを使用して)仮想マシンに移行し、Win7、VS2010、およびSQL Server Express2008R2をインストールしました。FluentMigratorを使用してデータベースを管理するプロジェクトがあります。

最初の移行を実行しようとすると、すべてのコンソールメッセージがFluentMigratorから返され、成功を報告しますが、データベースを見ると、変更は加えられていません。また、移行を実行してから数分以内にSQL Server Management Studio Expressでスキーマを更新しようとすると、「ロック要求のタイムアウト期間を超えました」というメッセージが表示されます。

残念ながら、SQLServerExpressにはSQLプロファイラーが付属していません。これなしでデータベースにヒットするクエリを確認する方法はありますか?

成功が見つからないのにFluentMigratorが成功を報告する理由に関する他のアイデアはありますか?

0 投票する
4 に答える
4333 参照

.net - FluentMigrator の移行は成功しますが、DB に変更はありません

かなり基本的なものが欠けているに違いありません。

私はレガシー プロジェクトに取り組んでおり、FluentMigrator をミックスに取り入れようとしています。なぜなら、このツールを使用することではるかに簡単になると思われるいくつかの興味深いデータベースの変更とデータの移行が近づいているからです。

最初の移行では、データベースを現在の運用バージョンにそのまま移行したいだけです。最初の移行を簡素化するために、SQL Server 2008 データベースをスクリプト化しました。移行では、スクリプト化されたコマンドを一連の SQL コマンドとして実行します。

テストするために、完全に空のデータベースを作成し、これを使用してコマンド ラインから実行してみます。

指定されたバージョンは、最初の移行クラスの移行属性のタイムスタンプです。

コマンド ラインでは、すべてが正常に実行されているように見えます。スクリプト全体が拡大表示され、次のように終了します。

しかし、データベースを見ると、まだ空です。そこには絶対に何もありません。私の Up メソッドは次のようになります。

(参考までに、Migrator.Netが死んでいることに気付く前にMigrator.Netを使用して開始したため、スクリプトをそのまま実行するのではなく、スクリプトを解析しています。これはすでにセットアップされていました。)

誰か手を貸してくれませんか?トランザクションがコミットされていないように見えるか、移行にドライランを実行させるコマンドラインオプションがオンになっているように見えますが、表示されません...

編集:私が試した追加事項

接続文字列が期待どおりのデータベースを使用していることを確認するために、データベースの名前を変更したところ、予想どおりログイン エラーが発生しました。

さらにテストするために、スクリプトの長さを短くし、次を使用して実行してみました

コマンドごとではなく、同じ結果が得られます。そのテストの出力は次のとおりです(パスなどを編集したことに注意してください):

まだデータベースにテーブルがありません - 期待される VersionInfo テーブルさえありません。

0 投票する
2 に答える
1203 参照

c# - c#:Fluent Migrator / MigSharp / migratordotnetは、C#コードのApplication.ProductVersionでバージョン番号をサポートしていますか?

いずれかの製品を使用して、データベースだけでなくファイルシステムなどでも移行を行うことに非常に興味があります。

私の最初の考えは、Application.ProductVersionを読みたいと思っていましたが、文字列を返しますが、ほとんどの移行にはLONG​​などが必要ですか?

誰かがこれを行っているかどうかはわかりませんが、私の考えは、2つの異なるバージョンの移行を行うことでした。

1製品を移行します。つまり、ディレクトリを変更するか、Application.ProductVersionを使用するファイルシステムなどを変更します。

  1. フィールドからのものであると私が推測するデータベースのバージョン番号を使用するデータベースを移行するには?

誰かがこのようにそれを使用していますか?

このようなものをサポートする製品はありますか?

私の移行は必ずしもデータベース固有ではありませんが、アプリケーション固有の場合もあります。

現時点での動作方法は、すべての新しいバージョンが整数、つまり1、2、3、4などである必要があり、マイナー、リビジョンなどを考慮していないようです。

洞察を楽しみにしています

ありがとう

0 投票する
2 に答える
365 参照

sql-server - ビューを同じビューの以前のバージョンにロールバックする

FMを使用してデータベースをデプロイしています。その展開の一環として、ビューを展開しています。変更は次のようになります。

R1:ビューを作成

R2:表示に変更はありません

R3:ビューに列を追加します

R4:変更なし

R5:ビューから列を削除します

ビューは、ソース管理にあるスクリプトによって作成されます。R3をデプロイしてから、R2にロールバックすることを決定したとします(奇妙な状態のままにしたくない本番サイトを考えています)。したがって、ビューのスクリプト(ドロップ/作成)はローカルファイルにあります。ローカルバージョンがR3にあるため、そのスクリプトを再度使用することはできませんが、R1(またはR2)に戻したいと思います。

FluentMigratorを使用してビューを以前のバージョンに確実にロールバックするにはどうすればよいですか?私が考えることができる唯一のオプションは、Migrationクラスの文字列にビュー作成スクリプトを保持することです。しかし、クラスではすべてのバージョンを文字列にまとめる必要があるようです。非常に扱いにくく、チームに売り込むのは難しいことです。

私が考えることができるこれに対するすべての現実的な解決策は、ソース管理の考えに反します-ローカルに単一のバージョンを持ち、時間の経過とともにその変化を追跡します。

0 投票する
3 に答える
2722 参照

c# - FluentMigrator の移行クラスのコード生成テンプレート

SQL (T-SQL) ステートメントから移行クラスを生成するために FluentMigrator で使用できるコード生成テンプレートはありますか?

理想的には、テーブルやインデックスなどを作成するためのステートメントを含むテキストを取得し、元の SQL ステートメントと同等のものを含む Up メソッドと Down メソッドを使用して移行クラスを生成したいと考えています。

オープン ソースまたは無料のコード生成ツールに基づくソリューションのみに関心があります。

0 投票する
2 に答える
1185 参照

migration - FluentMigrator を使用したデータベース固有の移行コード

fluentmigrator を使用してデータベース スクリプトを作成していますが、fluentmigrator を使用してデータベース固有の移行コードを実行するにはどうすればよいですか?

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

unit-testing - FluentMigrator の移行を単体テストするにはどうすればよいですか?

一般的なアドバイスは、データベースの移行を常にテストする必要があるということですが、その方法はよく秘密にされているようです ;)

私が選んだフレームワークは FluentMigration です。

私がやりたいと思うことは次のとおりです。

  1. データベースを N-1 に移行します。
  2. 一部のデータを保存します。
  3. データベースを N に移行します。
  4. データを読み取り、失われていないことを確認します。
  5. その他の関連する変更を確認する

しかし、単体テストから移行を実行する方法がわかりません。