Я пытаюсь создать ревизию с --autogenerate
, используя Alembic для двух моделей, но получаю сообщение об ошибке повторяющихся ключей таблицы. Нужно ли указывать схему? Если да, то как его можно установить? В документации, которую я прочитал, говорится об использовании __table_args__ = {'schema': 'somename'}
, но это не помогло. Любые советы или предложения приветствуются.
Моя текущая настройка:
base.py
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
workspace.py
from sqlalchemy import Column, Integer, String
from base import Base
class WorkspaceModel(Base):
__tablename__ = 'workspaces'
id = Column(Integer, primary_key=True)
name = Column(String)
host.py
from sqlalchemy import Column, Integer, String
from base import Base
class HostModel(Base):
__tablename__ = 'hosts'
id = Column(Integer, primary_key=true)
ip = Column(String)
перегонный куб/env.py
from host import HostModel
from workspace import WorkspaceModel
target_metadata = [HostModel.metadata, WorkspaceModel.metadata]
Ошибка
ValueError: Duplicate table keys across multiple MetaData objects: "hosts", "workspaces"
target_metadata
должно быть простоtarget_metadata = Base.metadata
. - person univerio   schedule 02.01.2018target_metadata = Base.metadata
сгенерировал пустые миграции. - person chirinosky   schedule 02.01.2018Base.metadata
не означает, что вы можете удалить импортfrom host import HostModel
иfrom workspace import WorkspaceModel
. - person univerio   schedule 02.01.2018