Chr*_*ond 5 mysql sqlite in-memory-database behat laravel
我正在通过behat为大型Laravel 5项目编写测试。
我在MySQL中有我的MySQL数据库的测试副本,以及该数据库的种子服务器,该种子服务器共享其他环境的一些种子服务器。所有这些都按预期工作。
但是,我尝试切换到使用sqlite内存数据库,因为它将大大加快我的自动化测试的速度,并且因为在每个behat场景开始时我都在运行“ artsian migration:refresh --- seeder = TestDatabaseSeeder”。
我遇到的问题是我的某些种子数据导致sqlite抛出非常无法描述的语法错误,但是MySQL对种子数据完全没有问题。
我认为,理想情况下,我希望它在内存中使用MySQL来提高性能,并保持数据库引擎的一致性。运行测试时,有没有Laravel是否有简单的方法在内存中使用MySQL?一个不涉及以使sqlite满意的方式复制和编辑迁移文件的解决方案?
Chr*_*ond -1
事实证明,sqlite 不喜欢 ' 被转义的方式。
“\'”需要替换为“''”。而且 sqlite 不支持枚举,因此我更改了迁移并使用字符串而不是枚举。
| 归档时间: |
|
| 查看次数: |
1529 次 |
| 最近记录: |