如何访问在python manage.py testserver中创建的数据库?

时间:2012-04-03 21:38:39

标签: django unit-testing sqlite

我最近发现了我一直用来运行我的Selenium测试的测试服务器数据库。

我对数据库有一些奇怪的问题,所以我想检查它。

当我用ctrl-c终止服务器时,会显示:

^C  
Server stopped.  
Note that the test database, ':memory:', has not been deleted. You can explore it on your own.  

但是,未创建该文件:

$ ls -la :memory
ls: :memory: No such file or directory

我正在使用SQLite3和Django 1.3。

如何访问测试数据库?

1 个答案:

答案 0 :(得分:3)

这只是django中的默认错误消息。一旦数据库连接关闭,SQLLite就会从内存中擦除数据库。来自docs

  

完成此操作后,不会打开任何磁盘文件。而是一个新的数据库   纯粹在记忆中创造。数据库一旦存在就不再存在   数据库连接已关闭。 Every:memory:数据库是不同的   来自其他人。因此,打开两个数据库连接,每个连接   filename“:memory:”将创建两个独立的内存数据库。

在找出问题时将其更改为磁盘数据库,然后在完成后将其切换回速度。