2013-04-25 4 views
1

Если у меня есть простая взаимосвязь наследования на основе соединения в SQLAlchemy, которую я реплицировал между схемами, используя «SET search_path», как я могу получить к ним доступ одновременно, чтобы сделать копию между ними?Переопределение отношения наследования SQLAlchemy к другой схеме postgres

Я рассматривал такие вещи, как entity name recipe, и не совсем понятно, как это сделать в случае наследования. Я также посмотрел select_from, но неясно, как будут загружаться подклассы, если with_polymorphic специфицирован в родительском классе.

В идеале, то, что я хотел бы сделать, это перебрать версию моего класса, привязанную к общедоступной схеме, и сгенерировать ее копии как экземпляры того же класса, связанные с конкретной схемой.

ответ

1

В итоге я решил использовать путь поиска для запроса экземпляров из общедоступной схемы и затем сбросить путь поиска при создании новых экземпляров в целевой схеме. Моя забота об этом подходе заключается в том, что я должен оценить этот запрос и превратить его в список, хранящийся в памяти, чтобы я мог переключить путь поиска, а затем создать дочерние экземпляры.

Было бы неплохо иметь два класса, каждый из которых сопоставляется с правильной схемой, поэтому вы можете перебирать класс общедоступной схемы одновременно с созданием дочерних экземпляров.

Смежные вопросы