我正在尝试使用SQLAlchemy将一堆原始SQL字符串转换为ORM。创建表和关系是相当简单的,但是我一直在努力优雅地提供Roles。
目前,我只是将执行程序放在代码库中,例如:
# ( ... )
conn.execute(f"CREATE ROLE IF NOT EXISTS {} ")
conn.execute(f"GRANT USAGE ON TABLE {} TO ROLE {}")
conn.execute(f"GRANT SELECT ON ALL TABLES IN SCHEMA {} TO ROLE {}")
conn.execute(f"GRANT SELECT ON FUTURE TABLES IN SCHEMA {} TO ROLE {}")
# ( ... )
我本来打算将数据存储在.sql
/ .json
中,但是它是参数化的,因此可能会引起一些麻烦。有没有更好的方法或更好的方法,我可以在SQLAlchemy的API中使用某些方法,从而以一种更加优雅的方式实现这一目标,然后只需在.execute()