带有自定义方言后缀的SQLAlchemy的Amazon Redshift方言的分叉版本
项目描述
Amazon Redshift方言的SQLAlchemy。
安装
该软件包可在PyPI上获得
pip install sqlalchemy-redshift
用法
DSN格式与常规Postgres类似
>>> import sqlalchemy as sa >>> sa.create_engine('redshift+psycopg2://username@host.amazonaws.com:5439/database') Engine(redshift+psycopg2://username@host.amazonaws.com:5439/database)
有关此方言支持的Redshift特定功能的详细信息,请参阅RedshiftDDLCompiler文档。
运行测试
测试是通过tox运行的,可以使用以下命令运行
$ tox
但是,除非设置了以下环境变量,否则此命令不会运行集成测试
REDSHIFT_HOST
REDSHIFT_PORT
REDSHIFT_USERNAME
PGPASSWORD(这是Redshift实例密码)
REDSHIFT_DATABASE
REDSHIFT_IAM_ROLE_ARN
请注意,指定的 IAM 角色需要与 redshift 集群关联,并且具有创建数据库和表以及删除它们的正确权限。在您的 shell 中导出这些环境变量并运行 tox 将会对真实的 redshift 实例运行集成测试。在针对生产实例运行这些测试时请谨慎行事。
持续集成 (CI)
项目 CI 是使用 AWS CodePipeline 和 CloudFormation 构建的。请参阅 ci/ 文件夹和包含的 README.txt,了解如何启动项目的 CI。
发布
要执行发布,您需要成为 GitHub 和 PyPI 上项目的管理员。如果您需要该访问权限,请联系维护者。
您需要一个 ~/.pypirc 文件,其中包含您的 PyPI 凭据以及以下设置
[zest.releaser] create-wheels = yes
要执行发布,请运行以下命令
python -m venv ~/.virtualenvs/dist workon dist pip install -U pip setuptools wheel pip install -U tox zest.releaser fullrelease # follow prompts, use semver ish with versions.
发布器将处理更新包中的版本数据以及 CHANGES.rst 中的版本,并对仓库进行标记和上传到 PyPI。
0.8.14 (2023-04-07)
0.8.13 (2023-03-28)
添加 spectrum 支持(Pull #263)
停止支持 Python 3.5
0.8.12 (2022-12-08)
修复 SQLAlchemy 的“supports_statement_cache”(Pull #259)
0.8.11 (2022-07-27)
禁用 redshift_connector 语句缓存(Pull #257)
0.8.10 (2022-07-21)
0.8.9 (2021-12-15)
支持 Redshift 数据类型的检查(Pull #242)
0.8.8 (2021-11-03)
0.8.7 (2021-10-27)
初始 SQLAlchemy 2.0.x 支持(《a href="https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/pull/237" rel="nofollow">Pull #237》)
0.8.6 (2021-09-22)
添加 RedshiftDialect_redshift_connector(《a href="https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/pull/232" rel="nofollow">Pull #232》)
创建 RedshiftDialectMixin 类。添加 RedshiftDialect_psycopg2cffi(《a href="https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/pull/231" rel="nofollow">Pull #231》)
0.8.5 (2021-08-23)
支持 TIMETZ 数据类型(《a href="https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/pull/229" rel="nofollow">Pull #229”)
修复 RelationKey 未引用的问题(《a href="https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/pull/228" rel="nofollow">Pull #228”)
0.8.4 (2021-07-15)
通过按模式获取/缓存元数据而不是整个数据库来提高反射性能(《a href="https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/pull/223" rel="nofollow">Pull #223”)
0.8.3 (2021-07-07)
支持 SQLAlchemy 1.4.x(《a href="https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/pull/221" rel="nofollow">Pull #221”)
0.8.2 (2021-01-08)
允许在 COPY 和 UNLOAD 命令中提供多个角色 ARN。这允许第一个角色假定其他角色,如 此处 所述。
0.8.1 (2020-07-15)
支持在 COPY 和 UNLOAD 命令中使用基于角色的访问控制 AWS 分区。这允许在例如 GovCloud 中使用这些命令。
0.8.0 (2020-06-30)
添加带有 CASCADE 选项的删除物化视图(《a href="https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/pull/204" rel="nofollow">Pull #204”)
修复无效的 SQLAlchemy 版本比较(《a href="https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/pull/206" rel="nofollow">Pull #206”)
0.7.9 (2020-05-29)
支持 SQLAlchemy 1.3.11+ 的修复(问题 #195)
0.7.8 (2020-05-27)
0.7.7 (2020-02-02)
0.7.6 (2020-01-17)
0.7.5 (2019-10-09)
将 psycopg2 包的版本检查扩展到也支持 psycopg2-binary 和 psycopg2cffi(问题 #178)
0.7.4 (2019-10-08)
删除对 psycopg2 的硬依赖,但要求在运行时存在该包(问题 #165)
将列上的 info 从 info 更改为关键字参数,以支持 SQLAlchemy >= 1.3.0(问题 #161)
在 redshift late binding 视图中添加对列信息的支持(问题 #159)
在 UNLOAD 中添加对 MAXFILESIZE 参数的支持。(问题 #123)
添加对 CREATE LIBRARY 命令的支持。(问题 #124)
添加对 ALTER TABLE APPEND 命令的支持。(问题 #162)
将 CSV 格式添加到 UnloadFromSelect。(问题 #169)
更新保留词列表(添加“az64”和“language”)(问题 #176)
0.7.3 (2019-01-16)
在 COPY 和 UNLOAD 命令中添加对 REGION 参数的支持。(问题 #90)
0.7.2 (2018-12-11)
0.7.1 (2018-01-17)
修复与 SQLAlchemy 1.2.0+ 的不兼容性(问题 #138)
0.7.0 (2017-10-03)
0.6.0 (2017-05-04)
0.5.0 (2016-04-21)
0.4.0 (2015-11-17)
将包名更改为sqlalchemy_redshift,以符合其他方言的命名约定;现在,redshift_sqlalchemy包会发出一个DeprecationWarning并引用sqlalchemy_redshift。将在未来的版本中删除redshift_sqlalchemy兼容性包。(问题 #58)
修复了反射表在某些CREATE TABLE语句中可能具有不正确的列顺序的bug,尤其是对于具有IDENTITY约束的列。(问题 #60)
修复了在表的模式不在当前search_path中时,反射表可能引发NoSuchTableError的bug。(问题 #64)
将python 3.5添加到集成测试的版本列表中。(问题 #61)
0.3.1 (2015-10-08)
修复了0.3.0版本中引入的CopyCommand破坏性更改:感谢solackerman。(问题 #53)
当省略format时,查询不再附加FORMAT AS …。这使得默认值与正常redshift查询相同。
修复STATUPDATE作为COPY参数的问题
0.3.0 (2015-09-29)
0.2.0 (2015-09-04)
默认使用SSL,使用硬编码的AWS Redshift CA。(问题 #20)
重构CopyCommand,包括支持指定格式和压缩类型。(问题 #21)
明确要求“dialect_options”需要SQLAlchemy >= 0.9.2。(问题 #13)
重构UnloadFromSelect,包括支持指定所有已记录的Redshift选项。(问题 #27)
修复python 2中的SORTKEY的unicode问题。(问题 #34)
添加支持Redshift DELETE语句,其中在WHERE子句中引用其他表。感谢 haleemur。 (问题 #35)
当尝试反射一个不存在的表时,引发NoSuchTableError。(问题 #38)
0.1.2 (2015-08-11)
0.1.1 (2015-05-20)
将RedshiftImpl注册为alembic第三方方言。
0.1.0 (2015-05-11)
第一个可以从PyPI安装的sqlalchemy-redshift版本
项目详情
preset-sqlalchemy-redshift-0.8.14.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6ebbb015f55db870a9de60ede56611ecba28afd9a37bfc4089a553a63c1235b4 |
|
MD5 | 704c7fdac368584858c1293d4d623b0d |
|
BLAKE2b-256 | 3e0d5f9848e9ed9eb22d358f06b817c239d36ea4c74349c0ab445fb158df3016 |