将createview和dropview结构添加到sqlalchemy
sqlalchemy-views的Python项目详细描述
将createview和dropview结构添加到sqlalchemy。
状态
目前的版本是0.2.3;发布很少,因为这里的代码很小,并且基于稳定的sqlalchemy api,所以到目前为止还不需要维护来保持与新的sqlalchemy或python版本的兼容性。
截至2019年初,这个包仍在使用最新的python和sqlalchemy。
用法
示例:
>>> from sqlalchemy import Table, MetaData >>> from sqlalchemy.sql import text >>> from sqlalchemy_views import CreateView, DropView>>> view = Table('my_view', MetaData()) >>> definition = text("SELECT * FROM my_table") >>> create_view = CreateView(view, definition) >>> print(str(create_view.compile()).strip()) CREATE VIEW my_view AS SELECT * FROM my_table>>> create_view = CreateView(view, definition, or_replace=True) >>> print(str(create_view.compile()).strip()) CREATE OR REPLACE VIEW my_view AS SELECT * FROM my_table>>> drop_view = DropView(view) >>> print(str(drop_view.compile()).strip()) DROP VIEW my_view>>> drop_view = DropView(view, if_exists=True, cascade=True) >>> print(str(drop_view.compile()).strip()) DROP VIEW IF EXISTS my_view CASCADE
注意,sqlalchemyTable对象用于表示 表格和视图。要内省视图,请创建Table 使用autoload=True,然后使用sqlalchemy的 get_view_definition方法生成第二个 参数为CreateView。
安装
sqlalchemy-views在pypi上可用,可以通过pip
安装pip install sqlalchemy-views
限制
各种sql方言已经形成了习惯 创建视图和删除视图语法。 该项目旨在提供核心功能集 大多数数据库引擎共享。