跳转到主要内容

为Zope配置数据源名称

项目描述

https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336:target:https://pycqa.github.io/isort/

visaplan.zope.reldb

此包仅提供配置数据源名称 (DSN),例如用于与SQLAlchemy一起使用。

对于将您的数据库事务(如PostgreSQL或任何其他数据库)与ZODB集成的繁重工作,您可能想使用类似zope.sqlalchemy的东西,这反过来又需要sqlalchemy与数据库通信。然而,zope.sqlalchemy不提供DSN配置方法。此包提供将此DSN存储在Zope配置文件(parts/clientN/etc/zope.conf)中的功能。

想法是:您可能有几个Zope实例(对于生产、测试、开发等),并且每隔一段时间您会复制生产数据。如果DSN存储在ZODB中,您也会复制这些信息,这可能不适合您;您可能在不同数据库服务器上有不同的数据库,或者生产服务器通过套接字连接到数据库,这在您的开发实例中是不可能的,或者任何其他情况。

功能

  • 在Zope配置中存储DSN字符串并提供一个get_dsn函数。

  • 安装了SQLAlchemy后,

    • 创建了一个引擎和一个DBSession,并且

    • 提供了一个可选的 .legacy.SQLWrapper 上下文管理器类,该类提供了一些简单的 插入更新删除选择查询 方法

  • 同时安装了 zope.sqlalchemy,将DBSession注册到事务机制集成中。

安装

以某种方式将包添加到您的产品需求中;由于我们还需要添加产品配置,您很可能会将其添加到您的构建脚本(buildout.cfg)中的 eggs

[buildout]

...

eggs =
    your.fancy.product
    visaplan.zope.reldb

同样,在那里也添加一个产品配置,包含您的数据源名称

[buildout]

...

[instance_base]
...
zope-conf-additional =
    <product-config reldb>
    dsn postgresql+psycopg2://localhost/mydb
    </product-config>

(我们遵循 UnifiedInstaller 的约定;您的部分(s)可能有不同的名称。)

运行 bin/buildout 并重新启动您的Zope实例后,产品配置应该已经添加到您的 zope.conf 文件(s)中,并且 your.fancy.product 可以通过调用 visaplan.zope.reldb.get_dsn或者,如果您有 SQLAlchemy,则直接使用 visaplan.zope.reldb.engine.engine)来读取DSN字符串。

备注

“但是,我的产品不能自己完成所有这些吗?!”

当然可以。将此作为包可以帮助我们/帮助我们将大量包从使用Zope数据库适配器(存储在ZODB中)转换为sqlalchemy(在 zope.conf 文件中配置DSN)。

贡献

支持

如果您遇到问题,请告诉我们;请使用上面提到的 问题跟踪器

许可协议

该项目采用GPLv2许可。

进一步阅读

贡献者

变更日志

1.0.0 (未发布)

  • 初始发布。 [tobiasherp]

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

visaplan.zope.reldb-1.0.0.dev2.tar.gz (27.9 kB 查看哈希值)

上传时间 源代码

由以下赞助

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面