【发布时间】:2015-05-16 15:31:22
【问题描述】:
django 在内存中建立一个数据库,用于测试选择的数据库引擎是否为 sqlite3。但是,我需要数据库位于文件系统上。如何更改设置才能实现这一点?
【问题讨论】:
-
为什么需要文件系统上的数据库?我不建议将 SQLite 用于任何严重的事情。
标签: python django unit-testing sqlite
django 在内存中建立一个数据库,用于测试选择的数据库引擎是否为 sqlite3。但是,我需要数据库位于文件系统上。如何更改设置才能实现这一点?
【问题讨论】:
标签: python django unit-testing sqlite
默认情况下,测试数据库通过将 test_ 添加到 DATABASES 中定义的数据库的 NAME 设置值。 使用 SQLite 数据库引擎时,测试默认使用 内存数据库(即,数据库将在内存中创建, 完全绕过文件系统!)。 如果您想使用不同的 数据库名称,在 TEST 字典中为任何给定的指定名称 数据库中的数据库。
在TEST 字典中指定NAME 键:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
...
'TEST': {
'NAME': '/path/to/the/db/file'
}
}
}
请注意,对于 Django 1.6 及以下版本,您应该改为设置 TEST_NAME:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
...
'TEST_NAME': '/path/to/the/db/file'
}
}
【讨论】: