хранилище данных sqlite и index.yaml - PullRequest
0 голосов
/ 16 августа 2011

Я мигрирую из исходного хранилища данных на основе файлов в версию sqlite.

У меня есть скрипт командной строки, который инициализирует заглушку следующим образом:

from google.appengine.api import apiproxy_stub_map
from google.appengine.datastore.datastore_sqlite_stub import DatastoreSqliteStub

apiproxy_stub_map.apiproxy=apiproxy_stub_map.APIProxyStubMap()
apiproxy_stub_map.apiproxy.RegisterStub("datastore_v3", DatastoreSqliteStub("myapp", Datastore, "/"))

Запрос хранилища данныхповышает NeedIndexError;однако -

  • соответствующие определения индекса смотрят мне в лицо в index.yaml
  • не было проблем с доступом к старому файловому хранилищу данных [используя DatastoreFileStub]

Не могу ли я как-то инициализировать хранилище данных с помощью index.yaml?

1 Ответ

0 голосов
/ 16 августа 2011

Аргументы конструктора, которые принимает DatastoreSqliteStub:

           app_id,
           datastore_file,
           require_indexes=False,
           verbose=False,
           service_name='datastore_v3',
           trusted=False,
           consistency_policy=None

Предоставляя эти именованные аргументы, вы указываете идентификатор приложения (правильно), файл хранилища данных, который вы указали, является некоторым объектомназывается Datastore, и требуется ли указывать индексы (которые вы установили в '/', что соответствует True).Вместо этого просто укажите первый и третий аргументы.

...