我正在尝试使用Foreigner在 Rails 中启用外键约束。它正在我的开发数据库上运行,但是当我尝试运行测试时出现以下错误:
Errors running test:units! #<ActiveRecord::StatementInvalid: Mysql2::Error: Can't create table
'arizona_test.#sql-368_be' (errno: 150): ALTER TABLE `arizona_downloads` ADD CONSTRAINT
`arizona_downloads_ibfk_1` FOREIGN KEY (`books_id`) REFERENCES `books`(id) ON DELETE SET NULL>
奇怪的是,测试运行良好,最后我得到了这个错误。
我怀疑 Foreigner 正在尝试对测试数据库使用 SQLite 语法,却不知道我正在使用 MySQL(和 mysql2 适配器)。有没有办法告诉老外我正在使用 MySQL 作为测试数据库?