【发布时间】:2013-02-20 11:54:31
【问题描述】:
我有一个使用 mysql 作为后端的 django 1.4 项目。我有要在内存中运行的测试设置
if 'test' in sys.argv:
DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}
问题是我需要使用 mysql 功能(全文索引)。
有没有办法让 django 在内存中运行 MySQL 进行测试?
我的项目依赖全文索引。当我在syncdb上开发项目时,然后使用sql执行.sql文件以创建全文索引。
我想在我测试的函数中使用 django orm 全文搜索。我正在尝试在每个测试的初始化中手动添加全文索引,例如:
cursor.execute('alter table mytable add fulltext(one, two)')
这在使用 sqlite 时不起作用(我相信是因为 sqlite 不支持全文索引)
当我删除内存测试时,上面的 sql 确实有效。我喜欢内存测试的速度。 有没有办法在内存中运行 mysql?
人们如何测试依赖于数据库特定功能的应用?比如全文索引或gis等...他们必须在文件系统上正常运行测试吗?
谢谢
【问题讨论】:
-
mysql 是否支持表空间?在 linux 上,您可以将 dbs 表空间设置为放在 RAM 磁盘上。 cyberciti.biz/faq/howto-create-linux-ram-disk-filesystem