为Zope配置数据源名称
项目描述
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许可。
进一步阅读
有关 SQLAlchemy文档 的 数据库URL
贡献者
Tobias Herp,tobias.herp@visaplan.com
变更日志
1.0.0 (未发布)
初始发布。 [tobiasherp]
项目详情
下载文件
为您的平台下载文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
visaplan.zope.reldb-1.0.0.dev2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9449754953bafb7a1fd6bf99922c7ac2e7d865f4c5abe5af1cc5660cbf06733c |
|
MD5 | 3132f7abd2e7fc36683757af43c2e5b4 |
|
BLAKE2b-256 | 29e0a2a9eb09075973d324501e32c44a34821b79e18e03a919fb38be64f34cbc |