选择SQL服务器


由于Evennia使用Django,我们大部分的说明都基于从它们的社区和文档中获知的东西。除了下面这些有用的信息,你还总能在Django的文档中找到最新的、最“准确”的有关可支持数据库的信息。


SQLite3

这是默认使用的数据库,对于绝大多数的Evennia应用来说是绰绰有余的,强烈建议你在大多数的开发中使用。它不需要服务器进程,管理的开销很小(资源消耗也同样很小)。数据库只显示为一个简单的文件(game/evennia.db3),而且由于我们将SQLite作为一个内存进程运行,它没有任何连接的开销,它很可能比Postgres/MySQL的速度更快,除非你的数据库非常大。

SQLite3的缺点是,它与并发的多线程或多进程的配合不太好,这与数据库文件的文件锁定有关。因此,对于大量使用进程或线程池的服务器(或使用第三方网络服务器,如Apache时),功能更全的数据库可能是更好的选择。


Postgres

这是Django推荐的数据库引擎,虽然在通常的应用中速度比不上SQLite,但它在大规模应用方面比SQLite更好,特别是当你的游戏使用单独的服务器进程与非常大的数据库连接或者有大规模的网络连接时。


MySQL

MySQL可能比Postgres的速度稍快一些,这取决于你的设置和软件版本。旧版本的MySQL有一些怪异的地方,所以请查阅Django的可支持数据库,以确保您使用的是正确的版本。


其它

虽然没对Oracle做过测试,但一样可由Django提供对它的支持。对于MS SQL有社区维护的驱动程序,可能还支持其他的数据库(请通过我们的朋友——谷歌来查询)。


查看数据库中的数据

如果你懂SQL,你可以用这种方式很轻松地通过命令行来访问你的数据库:
python game/gamesrc.py dbshell
这会让你进入相关数据库的命令行界面。

还有很多适用于不同数据库的图形界面。对SQLite3我们推荐使用SQLite manager,这是一个Firefox网页浏览器的插件,所以它可以在各种操作系统中使用。用它打开game/evennia.db3就可以了。