Rails は、移行を実行する代わりに schema.rb からテスト データベースを作成するため、テスト データベースではなく開発データベースにトリガーを作成することに気付きました。(移行として) トリガーがあり、それが正しいことを行うことをテストする必要があります。テストデータベースにトリガーを手動で追加しようとしましたが、うまくいきませんでした。
質問する
1284 次
2 に答える
5
デフォルトでは、railsはデータベースに依存しないschema.rbを使用してテストデータベースをセットアップします。これは、トリガーなどを理解しません。
thenに変更config.active_record_schema_format
すると:sql
、railsは代わりに開発データベースの構造を表す生のSQLをダンプし、それを使用してテストデータベースを再作成します。このダンプはdevelopment.sqlに配置され、schema.rbの代わりに使用されます。
このダンプは、データベースが提供するコマンドラインツールを使用して実行されるため、アクティブレコードが認識しないトリガーなどの機能を尊重します
于 2012-04-05T18:22:59.737 に答える
0
SQL ダンプよりも Ruby ダンプを好む場合は、この gem を試してみてください。
https://github.com/jovoto-team/trackless_triggers
mysql のダンプ トリガーと関数をサポートしています。
于 2013-03-05T15:14:08.680 に答える