# in base_obj file
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
# in user_table file
from base_obj import Base
class User(Base):
__tablename__ = "user_table"
user_id = Column(String(255), primary_key))
此Base
对象位于一个文件中,Base
的其他子类(例如User
)位于单独的文件中。首先,所有这些文件都放在python包中,一切都很好。
但我需要将所有Base
对象放在python模块中,我将通过pip install git+ssh://my_repo
安装。
我的解释器仍然可以分别访问每个Base
子类对象。但是Base.metadata.tables
是空的。
看起来sqlalchemy不再能够将sqlalchemy Base
对象链接到Metadata
和db引擎。这样就无法创建数据库表。
有谁知道sqlalchemy如何执行此链接? 这将有很大帮助。