Files
2026-06-08 18:14:59 +08:00

31 lines
1.5 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""数据库连接配置模型"""
from sqlalchemy import Boolean, Column, Index, Integer, JSON, String, Text
from app.base_model import BaseModel
class DatabaseConnection(BaseModel):
"""外部数据库连接配置"""
__tablename__ = "core_database_connection"
application_id = Column(String(21), nullable=True, index=True, comment="所属应用ID")
code = Column(String(50), unique=True, nullable=False, index=True, comment="连接编码")
name = Column(String(100), nullable=False, comment="连接名称")
db_type = Column(String(20), nullable=False, comment="数据库类型: postgresql/mysql/sqlserver/oracle")
host = Column(String(255), nullable=False, comment="主机")
port = Column(Integer, nullable=False, default=5432, comment="端口")
user = Column(String(100), nullable=False, default="", comment="用户名")
password_enc = Column(Text, default="", comment="加密密码")
default_database = Column(String(100), nullable=False, default="", comment="默认数据库名")
description = Column(Text, default="", comment="描述")
status = Column(Boolean, default=True, index=True, comment="是否启用")
is_system = Column(Boolean, default=False, comment="是否系统内置连接")
extra_options = Column(JSON, default=dict, comment="扩展选项")
__table_args__ = (
Index("ix_core_database_connection_app_status", "application_id", "status"),
)