Есть ли способ использовать реальную базу данных (SQLite, Mysql или даже некоторые нереляционный) как хранилище данных для разработки, вместо хранилища данных памяти/файла, которое обеспечивается.
Я видел немного проектов, GAE-SQLite (казалось, не работал), и одна подсказка о доступе к производственному хранилищу данных с помощью удаленного API (все еще довольно медленный для больших наборов данных).
MongoDB отлично для этого работает. Вам понадобится:
code:
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)
Но если вы ищете действительно более быструю разработку (как я), то на самом деле проблема не в хранилище данных, а в однопоточном веб-сервере. Я пытался заменить его на spawning, но это было слишком сложно. Вы также могли бы попробовать установить TyphoonAE, который будет имитировать стек приложения с открытыми альтернативами.
Имейте в виду, что если вы сделаете что-то из этого, вы можете потерять часть точного поведения, предоставляемого текущими инструментами, что означает, что если вы установите приложение, вы сможете получить результаты, которых вы не ожидали. Другими словами, убедитесь, что вы знаете, что делаете :-)
.BDBDATASTASTASTORE - это альтернативная бэкэнда хранения данных, которые значительно лучше, чем тот, который встроен на сервер разработки, хотя хранилище данных далеко не единственная проблема с сервером Dev, когда дело доходит до Обращение с большими приложениями.