@删除数据库
(self, get)
| 564 | return public.returnMsg(False,str(e)) |
| 565 | |
| 566 | def DeleteDatabase(self, get): |
| 567 | """ |
| 568 | @删除数据库 |
| 569 | """ |
| 570 | id = get['id'] |
| 571 | find = public.M('databases').where("id=? AND LOWER(type)=LOWER('PgSql')", (id,)).field('id,pid,name,username,password,accept,ps,addtime,db_type,conn_config,sid,type').find() |
| 572 | if not find: return public.returnMsg(False, '指定数据库不存在.') |
| 573 | |
| 574 | name = get['name'] |
| 575 | username = find['username'] |
| 576 | |
| 577 | pgsql_obj = self.get_sql_obj_by_sid(find['sid']) |
| 578 | status, err_msg = pgsql_obj.connect() |
| 579 | if status is False: |
| 580 | return public.returnMsg(False, "连接数据库失败!") |
| 581 | |
| 582 | # 查询当前数据是否被连接 |
| 583 | data_list = pgsql_obj.query("""SELECT * FROM pg_stat_activity WHERE datname = '{}';""".format(name)) |
| 584 | if data_list: |
| 585 | return public.returnMsg(False, "删除失败!当前数据库正在连接中!") |
| 586 | resp = pgsql_obj.execute("""DROP DATABASE "{}";""".format(name)) |
| 587 | if resp is not None: |
| 588 | return public.returnMsg(False, "删除数据库失败!") |
| 589 | pgsql_obj.execute("""DROP USER "{}";""".format(username)) |
| 590 | # 删除SQLITE |
| 591 | public.M('databases').where("id=? AND LOWER(type)=LOWER('PgSql')", (id,)).delete() |
| 592 | public.WriteLog("TYPE_DATABASE", 'DATABASE_DEL_SUCCESS', (name,)) |
| 593 | |
| 594 | #删除配置文件中的数据库配置 |
| 595 | try: |
| 596 | self.DeletePluginDatabaseConf(name) |
| 597 | except: |
| 598 | pass |
| 599 | return public.returnMsg(True, 'DEL_SUCCESS') |
| 600 | |
| 601 | def ToBackup(self, args): |
| 602 | """ |