MCPcopy Create free account
hub / github.com/aaPanel/BaoTa / AddCloudDatabase

Method AddCloudDatabase

class/database.py:519–575  ·  view source on GitHub ↗

@name 添加远程数据库 @author hwliang<2022-01-06> @param db_host 服务器地址 @param db_port 数据库端口 @param db_user 用户名 @param db_name 数据库名称 @param db_password 数据库密码 @param db_ps<str

(self, get)

Source from the content-addressed store, hash-verified

517 return public.returnMsg(False, '修改失败: {}'.format(result))
518
519 def AddCloudDatabase(self, get):
520 ''&#x27;
521 @name 添加远程数据库
522 @author hwliang<2022-01-06>
523 @param db_host<string> 服务器地址
524 @param db_port<port> 数据库端口
525 @param db_user<string> 用户名
526 @param db_name<string> 数据库名称
527 @param db_password<string> 数据库密码
528 @param db_ps<string> 数据库备注
529 @return dict
530 ''&#x27;
531 if not hasattr(get, 'db_host'):
532 return public.returnMsg(False, '参数传递错误,请重试!')
533 if not hasattr(get, 'db_port'):
534 return public.returnMsg(False, '参数传递错误,请重试!')
535 if not hasattr(get, 'db_user'):
536 return public.returnMsg(False, '参数传递错误,请重试!')
537 if not hasattr(get, 'db_name'):
538 return public.returnMsg(False, '参数传递错误,请重试!')
539 if not hasattr(get, 'db_password'):
540 return public.returnMsg(False, '参数传递错误,请重试!')
541 if not hasattr(get, 'db_ps'):
542 return public.returnMsg(False, '参数传递错误,请重试!')
543
544 # 检查数据库是否能连接
545 res = self.CheckCloudDatabase(get)
546 if isinstance(res, dict): return res
547
548 if public.M('databases').where("name=? AND LOWER(type)=LOWER('mysql')", (get.db_name,)).count():
549 return public.returnMsg(False, '已存在同名的数据库: [' + get.db_name + ']')
550 get.db_port = int(get.db_port)
551 conn_config = {
552 'db_host': get.db_host,
553 'db_port': get.db_port,
554 'db_user': get.db_user,
555 'db_password': get.db_password,
556 'db_name': get.db_name
557 }
558
559 pdata = {
560 'name': get.db_name,
561 'ps': get.db_ps,
562 'conn_config': json.dumps(conn_config),
563 'db_type': '1',
564 'username': get.db_user,
565 'password': get.db_password,
566 'accept': '127.0.0.1',
567 'addtime': time.strftime('%Y-%m-%d %X', time.localtime()),
568 'pid': 0
569 }
570
571 result = public.M('databases').insert(pdata)
572 if isinstance(result, int):
573 public.WriteLog('数据库管理', '添加远程MySQL数据库[%s]成功' % (get.db_name))
574 return public.returnMsg(True, '添加成功!')
575 return public.returnMsg(False, '添加失败: {}'.format(result))
576

Callers

nothing calls this directly

Calls 8

CheckCloudDatabaseMethod · 0.95
returnMsgMethod · 0.80
countMethod · 0.45
whereMethod · 0.45
MMethod · 0.45
dumpsMethod · 0.45
insertMethod · 0.45
formatMethod · 0.45

Tested by

no test coverage detected