有没有一种方法可以使用真实的数据库(SQLite、Mysql,甚至一些非关系型数据库)作为开发的数据存储,而不是使用提供的内存/文件数据存储。
我看到的项目很少,GAE-SQLite(似乎不起作用)和一个关于使用远程api访问生产数据存储的技巧(对于大型数据集来说仍然相当慢)。
发布于 2010-01-22 17:54:22
MongoDB在这方面做得很好。您将需要:
设置存根存根的http://github.com/mongodb/mongo-appengine-connector
代码:
import datastore_mongo_stub
os.environ['APPLICATION_ID'] = 'test'
datastore = datastore_mongo_stub.DatastoreMongoStub(
os.environ['APPLICATION_ID'], 'woot', '', require_indexes=False)
apiproxy_stub_map.apiproxy.RegisterStub('datastore_v3', datastore)但是,如果你正在寻找真正更快的开发(像我一样),数据存储实际上不是问题,因为单线程web服务器是更大的问题。I tried to replace it with spawning,但这有点太难了。您还可以尝试设置TyphoonAE,它将使用开放的替代方案模拟appengine堆栈。
请注意,如果执行其中任何一项操作,可能会丢失当前工具提供的某些确切行为,这意味着如果进行部署,可能会获得意想不到的结果。换句话说;确保你知道你在做什么:-)
发布于 2011-01-27 15:23:24
Google App Engine SDK for Python现在捆绑了对SQLite的支持。有关详细信息,请参阅official docs。
发布于 2010-01-22 12:29:52
bdbdatastore是一个替代的数据存储后端,它比内置到开发服务器中的数据存储后端要好得多,尽管在处理大型应用程序时,数据存储远不是开发服务器的唯一问题。
https://stackoverflow.com/questions/2112950
复制相似问题