• BaiJiangJie's avatar
    [Feature] 添加功能:数据库应用 (#3551) · 16f727c6
    BaiJiangJie authored
    * [Update] 添加数据库应用Model
    
    * [Update] 添加数据库应用ViewSet
    
    * [Update] 添加数据库应用HTML
    
    * [Update] 更新数据库应用迁移文件
    
    * [Update] 添加数据库应用授权Model
    
    * [Update] 添加数据库应用授权ViewSet(待续)
    
    * [Update] 添加数据库应用授权ViewSet(完结)
    
    * [Update] 添加数据库应用授权View(待续)
    
    * [Update] 添加数据库应用授权View(待续2)
    
    * [Update] 修改远程应用授权View(小问题)
    
    * [Update] 添加数据库应用授权View(待续3)
    
    * [Update] 添加数据库应用授权View(完结)
    
    * [Update] 添加数据库应用授权相关API
    
    * [Update] 添加数据库应用View(用户页面)
    
    * [Update] 修改数据库应用授权Model/View/API(系统用户)
    
    * [Update] 修改系统用户Model/View(添加mysql协议)
    
    * [Update] 修改用户页面(我的应用)
    
    * [Update] 添加迁移文件
    
    * [Update] 添加迁移文件2
    
    * [Update] 续添加迁移文件2(Model更改)
    
    * [Update] 修改系统用户序列类(mysql协议自动生成密码问题)
    
    * [Update] 修改数据库应用/资产等授权序列类
    
    * [Update] 修改命令列表/会话详情命令溢出
    
    * [Update] 修改授权详情中添加系统用户的过滤
    
    * [Update] 修改列表动作的宽度
    16f727c6
database_app.py 1.19 KB
# coding: utf-8
#

import uuid
from django.db import models
from django.utils.translation import ugettext_lazy as _

from orgs.mixins.models import OrgModelMixin
from common.mixins import CommonModelMixin
from .. import const


__all__ = ['DatabaseApp']


class DatabaseApp(CommonModelMixin, OrgModelMixin):
    id = models.UUIDField(default=uuid.uuid4, primary_key=True)
    name = models.CharField(max_length=128, verbose_name=_('Name'))
    type = models.CharField(
        default=const.DATABASE_APP_TYPE_MYSQL,
        choices=const.DATABASE_APP_TYPE_CHOICES,
        max_length=128, verbose_name=_('Type')
    )
    host = models.CharField(
        max_length=128, verbose_name=_('Host'), db_index=True
    )
    port = models.IntegerField(default=3306, verbose_name=_('Port'))
    database = models.CharField(
        max_length=128, blank=True, null=True, verbose_name=_('Database'),
        db_index=True
    )
    comment = models.TextField(
        max_length=128, default='', blank=True, verbose_name=_('Comment')
    )

    def __str__(self):
        return self.name

    class Meta:
        unique_together = [('org_id', 'name'), ]
        verbose_name = _("DatabaseApp")
        ordering = ('name', )