Base.metadata.create_all 中的 sqlalchemy 授予权限

Cra*_*ete 5 sqlalchemy python-2.7

有没有办法在使用 sqlalchemy 创建新表时授予权限?我现在看到的唯一方法是执行一个sql“GRANT ALL ON TABLE blabla to whoever;” 每次我做 Base.metadata.create_all(...)

mac*_*iek 2

我使用 PostgreSQL 数据库和 psycopg2 后端。我执行后create_all

import models
from psycopg2 import sql

for table in models.Base.metadata.tables.values():
    connection.connection.cursor().execute(
        sql.SQL('GRANT ALL PRIVILEGES ON {} TO {}').format(
            sql.Identifier(table.name), sql.Identifier('bob')))
Run Code Online (Sandbox Code Playgroud)