Можно ли в SQLAlchemy ссылаться на таблицы из другой схемы
Исторически сложилось, что описанные таблицы не были описаны схемой:
@as_declarative()
class Base():
__name__: str
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
class Table(Base):
...
Решил добавить новые таблицы со схемой, которые могут ссылаться на старые таблицы:
DBase = declarative_base()
class New_Base(DBase):
__table_args__ = {'schema': 'new'}
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
class N_Table(New_Base):
table_id = Column(Integer, ForeignKey("table.id"))
table = relationship('Table', back_populates='n_table')
...
Соответственно при запуске выпадает ошибка:
sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column 'new.table_id' could not find table 'table' with which to generate a foreign key to targ
et column 'id'
В инете посмотрел, что можно указывать схему через точку, типа: "... ForeignKey("name_scheme.table.id")", но в старых таблицах схема не указана. Пробовал такие даже имена схем указывать: tables, public, db0
Можн ли вообще что-то сделать или уже смириться и все в одной схеме продолжать так и делать?