如何在rails测试数据库中创建mysql函数?

时间:2011-09-09 12:23:57

标签: ruby-on-rails unit-testing rails-migrations

我为我的rails应用程序编写了一个Mysql函数,我手动将它添加到我的数据库中。  当我想使用Rails UNIT测试来测试函数时,它会通过下面的错误

ActiveRecord::StatementInvalid: Mysql::Error: FUNCTION mydatabase.fn_Sample_Function does not exist:

如何在测试套件或测试运行开始时添加功能?

先谢谢, AAA。

1 个答案:

答案 0 :(得分:1)

我看不出错误。但我认为问题是你的架构格式。

config.active_record.schema_format = :sql
application.rb中的

应该是你需要做的。

背后的原因是默认情况下,您的测试数据库不是来自开发数据库的仅模式转储,而是来自db / schema.rb - 它对mysql函数一无所知。

sql架构格式将执行mysqldump(或pg_dump),并将schema only标志设置为true并创建development_structure.sql文件。