我最近通过迁移向我的数据库添加了一些 SQL 函数,它们运行良好。代码有效,数据库有效,测试无效。schema.rb 文件告诉我它是最新版本(而且它是正确的),但它只包含表和索引的定义,而不是我添加的函数。
我在迁移中通过“execute()”方法添加了这些函数,并且需要在测试数据库中使用它们才能通过 RSpec 测试(公司政策规定,在修复此问题之前我不能提交此更改)。
有谁知道为什么会这样,或者如何解决?我可以手动进入 MySQL 命令行并添加函数,但是当下次有人执行 db:test:prepare 时它们会被删除。我需要一个可以自动化的解决方案。
感谢您的任何帮助和回复,
-迈克·特雷西奇