mirror of
https://github.com/aaPanel/aaPanel.git
synced 2026-08-20 06:35:47 +02:00
Since version 7.7.0, we recommend yours update python to 3.12. [+] Using nginx technology to load static files improves access speed [+] Refactor homepage, website, FTP, and database using vue3 [+] Table loading changed to skeleton screen [+] Add Website statistics-v2 professional plug-in [+] Add Home page - top 5 resource occupancy [+] Add protection for Files management (requires Tamper-proof for Enterprise 3.7) [+] Website, FTP, Databases page add program status [+] Add FTP log analysis (only supports Centos) [+] Add password-free login to phpMyAdmin [+] Add Proxy Project in Website (Supported when web service uses Nginx) [+] Add WP Toolkit (Pro version only) [+] Redesigned Docker module [+] Add WP Toolkit Protection [+] Add WP Toolkit Backup and Restore [+] Add WP Toolkit Migrated [+] Add WP Toolkit Clone site (supports new domain and subdomain) [+] Add WP Toolkit Create site from backup of other panel [+] Add WP Toolkit support for Cron automatic backup (only save Local disk) [+] Add WP Toolkit operation log [+] Add Integrity check for WP Toolkit [+] Add WP Toolkit plug-in management and themes management [*] Optimize phpMyAdmin formula access method [*] Optimize Home page PHP display problem [*] Optimize jump to the login interface after the login expires [*] Optimize automatic renewal of SSL at some times [*] Optimize Let's Encrypt to increase application success rate [-] Fix Logs Audit cannot be opened [-] Fix apache URL rewrite issue [-] Fix phpmyadmin installation problem [-] Fix the problem that some servers cannot install software [-] Fix upload file error [-] Fix left menu hiding problem [-] Fix aaPanel Mobile QR code display problem [-] Fix problem that third-party plug-ins are not displayed in the App Store [-] Fix issue where the menu bar is blank when opening new tabs [-] Fixed panel not being accessible in some cases [-] Fix the issue where Curl warning caused the inability to apply for SSL [-] Fix Quota issues for Website, FTP, Databases [-] Fix file interface display problem on mobile terminal
54 lines
1.2 KiB
Python
54 lines
1.2 KiB
Python
from .pgsql import PgsqlTool
|
||
from .mongodb import MongodbTool
|
||
from .mysql import MysqlTool
|
||
from .sql_server import SQLServerTool
|
||
|
||
from typing import Optional
|
||
|
||
DB_TYPE = (
|
||
"pgsql",
|
||
"mongodb",
|
||
"mysql",
|
||
"sqlserver"
|
||
)
|
||
|
||
|
||
def add_database(db_type: str, data: dict) -> Optional[str]:
|
||
"""
|
||
data: 中包含的有效参数为
|
||
database_name:数据库名称
|
||
server_id:数据库 id
|
||
db_user:数据库用户名
|
||
password:数据库用户的密码
|
||
dataAccess :链接限制方式 如:ip
|
||
address:可允许使用的ip, 配合上一个参数使用
|
||
codeing: 编码
|
||
ps:备注
|
||
listen_ip: pgsql 有效,可设置访问地址
|
||
"""
|
||
if db_type not in DB_TYPE:
|
||
return "错误的数据库类型"
|
||
|
||
if db_type == "pgsql":
|
||
tool = PgsqlTool()
|
||
elif db_type == "mongodb":
|
||
tool = MongodbTool()
|
||
elif db_type == "mysql":
|
||
tool = MysqlTool()
|
||
else:
|
||
tool = SQLServerTool()
|
||
|
||
f, msg = tool.add_database(data.pop("server_id"), data.pop("database_name"), **data)
|
||
if not f:
|
||
return msg
|
||
return None
|
||
|
||
|
||
__all__ = [
|
||
"PgsqlTool",
|
||
"MongodbTool",
|
||
"MysqlTool",
|
||
"SQLServerTool",
|
||
"add_database",
|
||
]
|