我正在尝试将 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
,但是,如果我手动创建架构,一切运行正常。我将不胜感激朝着正确的方向前进。