У меня есть разные таблицы, которые я объявляю очень стандартным способом, но с глобальной базой:
GlobalData.py
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
init()
engine= ...
Base.metadata.create_all(engine)
TableA.py
import globaldata as gd
TableA(gd.Base)
...
TableB.py
import globaldata as gd
TableB(gd.Base)
...
Проблема: если я импортирую TableA или TableB более одного раза в другие файлы, таблицы будут добавлены в метаданные более одного раза. Затем возникает конфликт при попытке выполнить какое-либо действие с одной из этих таблиц.
EDIT
При попытке получить доступ к таблице возникает проблема:
В реестре этой декларативной базы найдено несколько классов для пути "RolloutPermission". Пожалуйста, используйте полный путь к модулю.
Я предполагаю, что это проблема проектирования, однако я не вижу, что не так с моим. Любой вклад приветствуется