我为我的rails应用程序编写了一个Mysql函数,我手动将它添加到我的数据库中。 当我想使用Rails UNIT测试来测试函数时,它会通过下面的错误
ActiveRecord::StatementInvalid: Mysql::Error: FUNCTION mydatabase.fn_Sample_Function does not exist:
如何在测试套件或测试运行开始时添加功能?
先谢谢, AAA。
答案 0 :(得分:1)
我看不出错误。但我认为问题是你的架构格式。
config.active_record.schema_format = :sql
application.rb中的应该是你需要做的。
背后的原因是默认情况下,您的测试数据库不是来自开发数据库的仅模式转储,而是来自db / schema.rb - 它对mysql函数一无所知。
sql架构格式将执行mysqldump(或pg_dump),并将schema only标志设置为true并创建development_structure.sql文件。