0

我有一些在我的迁移中创建触发器和函数的原始 sql 语句。它们不会在测试中调用。

如何使用正常迁移来设置测试数据库?为什么这不是默认方法?

4

1 回答 1

0

原因是测试数据库是从 schema.rb 文件恢复的。并且 Schema 转储不会创建过程、函数、fkeys 等。原因是 Rails 不鼓励使用它们。但是,您可以将架构转储格式更改为 sql。

config.active_record.schema_format = :sql

请参阅以下线程为什么 rake db:migrate 在 Rails 中不向模式文件添加函数?

检查这篇文章以及http://pivotallabs.com/users/jdean/blog/articles/1707-using-mysql-foreign-keys-procedures-and-triggers-with-rails

于 2012-10-07T11:43:03.793 回答