前言
在开发和运维过程中,配置管理是一个非常重要但经常被忽视的环节。常用的配置文件格式包括env、ini和yaml等,它们非常适合模块级别的系统配置,尤其是一些敏感信息的配置,例如数据库连接字符串和密码等。但是,对于系统业务级别的配置,通常要求不需要重启服务即可更新,这就是我们今天要介绍的简单配置管理模块的意义所在。
系统配置表
首先,我们需要一个数据库表来存储配置项。这个表包括配置名称、配置值和配置描述等信息。以下是一个使用SQLAlchemy定义的配置表模型:
from sqlalchemy import (
TEXT,
TIMESTAMP,
Column,
Integer,
String,
func,
)
from app.models.base import Base, BaseMixin
class SysConfig(Base, BaseMixin):
__tablename__ = 'sys_configs'
__table_args__ = {"comment": "系统配置表"}
id = Column(Integer, primary_key=True, autoincrement=True, comment='ID')
cfg_name = Column(String(128), nullable=False, unique=True, comment='配置名称'