Sqlalchemy 手动创建数据库表
有没有办法在不使用 Base.metadata.create_all()
的情况下创建一个表?我想要类似于 Mytable.create()
这样的功能,它只会创建对应的表。
我想这样做的原因是因为我在做一个多租户的网页应用,使用了 Postgres 的模式(schemas)。我想单独创建 public
表(比如 User
等),以及用户特定的表(每个用户都有一个独立的模式,比如 Blog
、Post
),这些表是在用户注册时创建的。不过,所有的定义都在同一个文件里,而 create_all
似乎会创建文件中定义的所有表。
1 个回答
3
请查看文档,了解如何 创建和删除数据库表。
你可以使用 user_table.create(engine)
来创建表,或者如果你在使用声明式扩展,可以用 User.__table__.create(engine)
。