1

我正在尝试将 postgreSQL 与 SQLAlchemy 一起使用。我遇到了一些问题,因为我是 SQLAlchemy 的新手,并且可能误解了文档。

当我使用 SQLite 遵循文档时,从我指定的类创建数据库和关系没有问题。但是,当我尝试使用 Postgre 执行此操作时,我无法生成关系或数据库,而是必须在 shell 中手动创建模式和表。

这是我目前拥有的:

postgres_url = 'postgresql+psycopg2://some_user:some_password@localhost:5432/testdb'

engine = create_engine(postgres_url)

DB_session = sessionmaker(bind=engine)
db_session = DB_session()

Base = declarative_base()

Base.metadata.create_all(bind=engine)

#-----------------------------------------------------------
#                       User Entity
#-----------------------------------------------------------


class User(Base):

    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    fname = Column(String(45))
    lname = Column(String(45))
    token = Column(String(45))

    def __init__(self, fname, lname, token):
        self.fname = fname
        self.lname = lname
        self.token = token

    def __repr__(self):
        return 'Token: %s' % self.token

当我在手动创建数据库后运行上述代码时,我得到一个relation "users" does not exist,但是,如果我手动创建架构,一切运行正常。我将不胜感激朝着正确的方向前进。

4

0 回答 0