в моем приложении приложения Google всякий раз, когда пользователь покупает несколько контрактов, выполняются эти события (упрощено для ясности):
- user.cash уменьшен
- user.contracts увеличивается на число
- Contracts.current_price обновляется.
- market.no_of_transactions увеличивается на 1.
в rdms они будут помещены в одну и ту же транзакцию. Я понимаю, что хранилище данных Google не позволяет объектам более чем одной модели находиться в одной транзакции.
каков правильный подход к этому вопросу? как я могу гарантировать, что в случае сбоя записи все предыдущие записи будут отброшены?
edit: я явно пропустил группы сущностей. Теперь я был бы признателен за дополнительную информацию о том, как они используются. Еще один момент, который нужно уточнить, это то, что Google говорит: «Используйте группы сущностей только тогда, когда они необходимы для транзакций. Для других отношений между сущностями используйте свойства ReferenceProperty и значения Key, которые можно использовать в запросах». означает ли это, что я должен определить как ссылочное свойство (поскольку мне нужно их запрашивать), так и отношения родитель-потомок (для транзакций)?
редактировать 2: и, наконец, как определить двух родителей для объекта, если объект создается для установления отношения n-to-n между двумя родителями?