Я регулярно загружаю свои производственные данные Google App Engine локально (используя собственный скрипт, который обычно вызывает appcfg.py download_data
) и загружаю их на сервер разработки, чтобы данные в моей среде разработки соответствовали производственным. Вы можете найти скрипты на Launchpad:
Вот что делает скрипт запуска:
Все работало нормально до GAE 1.5.2. В этот момент сервер разработки изменился на префикс dev~
, поэтому я добавил --default_partition=''
, чтобы запустить сервер разработки. Однако теперь, похоже, скрипт смены пароля не имеет доступа к загруженным данным, он всегда возвращает 0 сущностей для обычных пользователей или пользователей с правами администратора. Мне интересно, как получить доступ к данным из командной строки, поэтому явно не из URL, чтобы предотвратить это когда-либо на рабочем сервере. Скрипты в ./extra
не загружаются в GAE, поэтому оттуда они не могут быть выполнены.
Чтобы дать вам представление (но посмотрите на сценарий для большего контекста), это то, что скрипт использовал (и работал до GAE <= 1.5.1): </p>
args, option_dict = ParseArguments(['', colCasaBasePath])
config, matcher = LoadAppConfig(colCasaBasePath, {})
SetupStubs(config.application, **option_dict)
Доступ к моделям приложения осуществляется в обычном режиме:
from src.models import WebUser, ScyllaUser
for tipo in (WebUser, ScyllaUser):
usuarios = tipo.all()
# Now len(usuarios) == 0
Что было изменено (после GAE 1.5.1), что нарушает мой сценарий доступа к данным GAE? Как бы вы выполнили такой рабочий процесс?