31 lines
1.5 KiB
Python
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"),
|
|
)
|