数据库连接信息管理
Project description
dbcfg
项目目的
把数据库连接信息独立出来,放在一个专用的配置目录下。可以提供以下好处:
- 代码中不再包含连接信息,方便做到开发和运维分离。
- 代码中没有连接信息,也提高了安全性,避免不小心分发出去的代码泄露了秘密。
- 后续数据库变换地址、连接方式、修改密码不再需要调整源代码,直接修改配置即可。
- 同一份源代码,无须变动,即可适应生产、测试环境。
- 数据库定期修改密码时,仅需要改动少量配置文件。
一些特性
- 支持不同的语言,初期支持python、c、lua等
快速入门
安装
使用
pip install dbcfg
即可下载安装
python使用方法
import dbcfg
dbc=dbcfg.use("xxx")
print(dbc.dbtype) #输出数据库类型,如mysql
db=dbc.connect() #返回数据库连接
设计思路
在特定目录下依次寻找数据文件。每个设置一个文件,类似oa.cfg这样,以.cfg结尾,使用时去掉.cfg的部分做为连接名使用。
数据目录在linux平台下搜索顺序是:
- ~/.dbcfg.d
- /etc/dbcfg.d
在windows平台下搜索顺序是:
- 当前盘:/etc/dbcfg.d
- c:/etc/dbcfg.d
设置文件里指定连接何种数据库,以及连接数据所需要的一些信息(不同数据库不相同)。
提供各语言的库,可以读取配置文件,甚至直接根据连接名和配置文件连接数据库。
数据文件格式
以json格式存放信息。样例如下:
[
{
"name":"一个配置文件里可以设置多个连接,用名字区分,只有一个连接时,可以忽略名字"
"db":"如tds 指定数据库类型",
"python":{
"import":"python需要导入的包名",
},
"lua":{
"require":"导入的模块名称",
},
"t":"连接串内容,根据数据库类型确定,如果t不设置,则使用d中的内容。使用t或者d,根据数据库等情况确定",
"d":{
"server":"服务器地址",
"database":"库名称",
"user":"如sa 用户名称",
"password":"对应的密码",
"port":1433,
"readonly":true
}
}
]
示例是一个tds(mssql)的配置示例。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dbcfg-0.0.2.tar.gz
(8.0 kB
view details)
File details
Details for the file dbcfg-0.0.2.tar.gz
.
File metadata
- Download URL: dbcfg-0.0.2.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 871ed4332462a744f31e82c4bb3f116a4bc6840fa20998f66ad063974bbaffa9 |
|
MD5 | e67626053ce62a4734f221a978c4d011 |
|
BLAKE2b-256 | ced5b5894555cb2be67da85b55c96cfa9cef86f915aca0e148db628618cf2090 |