我正在尝试将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
当我在手动创建db之后运行上面的代码时,我得到一个relation "users" does not exist
,但是,如果我手动创建架构,一切都运行正常。我希望能朝着正确的方向前进。