@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)
| 517 | return public.returnMsg(False, '修改失败: {}'.format(result)) |
| 518 | |
| 519 | def AddCloudDatabase(self, get): |
| 520 | ''' |
| 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 | ''' |
| 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 |