优化各项目数据库地址变更和端口号变更后的数据库获取问题
增加数据库表中的端口字段,获取对应项目的端口号
6 files added
6 files modified
1 files deleted
| | |
| | | # 创建数据库更新器实例 |
| | | self.updaters = [] |
| | | for _, row in df_filtered.iterrows(): |
| | | project, host, database, user, password = row[:5] |
| | | self.log_signal.emit(f"准备处理项目:{project} | 数据库:{database}") |
| | | updater = ProjectUpdater(project, host, database, user, password) |
| | | project, host, port, database, user, password = row[:6] |
| | | self.log_signal.emit(f"准备处理项目:{project} | 数据库:{database} | 端口:{port}") |
| | | updater = ProjectUpdater(project, host, database, user, password, port) |
| | | self.updaters.append(updater) |
| | | |
| | | # 执行更新任务 |
| | |
| | | class ProjectUpdater: |
| | | """单个项目更新器""" |
| | | |
| | | def __init__(self, project, host, database, user, password): |
| | | def __init__(self, project, host, database, user, password, port=3306): |
| | | self.project = project |
| | | self.host = host |
| | | self.database = database |
| | | self.db_user = user |
| | | self.db_password = password |
| | | self.port = port |
| | | self.updated_users = [] |
| | | self.log_records = [] |
| | | |
| | |
| | | try: |
| | | conn = mysql.connector.connect( |
| | | host=self.host, |
| | | port=3306, |
| | | port=self.port, |
| | | user=self.db_user, |
| | | password=self.db_password, |
| | | database=self.database, |
| | |
| | | # 创建数据库更新器实例 |
| | | self.updaters = [] |
| | | for _, row in df_filtered.iterrows(): |
| | | project, host, database, user, password = row[:5] |
| | | self.log_signal.emit(f"准备处理项目:{project} | 数据库:{database}") |
| | | updater = ProjectUpdater(project, host, database, user, password) |
| | | project, host, port, database, user, password = row[:6] |
| | | self.log_signal.emit(f"准备处理项目:{project} | 数据库:{database} | 端口:{port}") |
| | | updater = ProjectUpdater(project, host, database, user, password, port) |
| | | self.updaters.append(updater) |
| | | |
| | | # 执行更新任务 |
| | |
| | | class ProjectUpdater: |
| | | """单个项目更新器""" |
| | | |
| | | def __init__(self, project, host, database, user, password): |
| | | def __init__(self, project, host, database, user, password, port=3306): |
| | | self.project = project |
| | | self.host = host |
| | | self.database = database |
| | | self.db_user = user |
| | | self.db_password = password |
| | | self.port = port |
| | | self.updated_users = [] |
| | | self.log_records = [] |
| | | |
| | |
| | | try: |
| | | conn = mysql.connector.connect( |
| | | host=self.host, |
| | | port=3306, |
| | | port=self.port, |
| | | user=self.db_user, |
| | | password=self.db_password, |
| | | database=self.database, |
| | |
| | | # 创建数据库更新器实例 |
| | | self.updaters = [] |
| | | for _, row in df_filtered.iterrows(): |
| | | project, host, database, user, password = row[:5] |
| | | self.log_signal.emit(f"准备处理项目:{project} | 数据库:{database}") |
| | | updater = ProjectUpdater(project, host, database, user, password) |
| | | project, host, port, database, user, password = row[:6] |
| | | self.log_signal.emit(f"准备处理项目:{project} | 数据库:{database} | 端口:{port}") |
| | | updater = ProjectUpdater(project, host, database, user, password, port) |
| | | self.updaters.append(updater) |
| | | |
| | | # 执行更新任务 |
| | |
| | | class ProjectUpdater: |
| | | """单个项目更新器""" |
| | | |
| | | def __init__(self, project, host, database, user, password): |
| | | def __init__(self, project, host, database, user, password, port=3306): |
| | | self.project = project |
| | | self.host = host |
| | | self.database = database |
| | | self.db_user = user |
| | | self.db_password = password |
| | | self.port = port |
| | | self.updated_users = [] |
| | | self.log_records = [] |
| | | |
| | |
| | | try: |
| | | conn = mysql.connector.connect( |
| | | host=self.host, |
| | | port=3306, |
| | | port=self.port, |
| | | user=self.db_user, |
| | | password=self.db_password, |
| | | database=self.database, |
| | |
| | | """数据库更新器类""" |
| | | |
| | | def __init__(self, project: str, host: str, database: str, |
| | | user: str, password: str): |
| | | user: str, password: str, port: int = 3306): |
| | | self.project = project |
| | | self.host = host |
| | | self.database = database |
| | | self.db_user = user |
| | | self.db_password = password |
| | | self.port = port |
| | | self.updated_users = [] # 存储更新过的用户信息 |
| | | |
| | | async def connect(self) -> Optional[mysql.connector.connection.MySQLConnection]: |
| | |
| | | conn = await asyncio.to_thread( |
| | | mysql.connector.connect, |
| | | host=self.host, |
| | | port=3306, |
| | | port=self.port, |
| | | user=self.db_user, |
| | | password=self.db_password, |
| | | database=self.database, |
| | |
| | | # 创建数据库更新器实例 |
| | | updaters = [] |
| | | for _, row in df_filtered.iterrows(): |
| | | project, host, database, user, password = row[:5] |
| | | print(f"\n🚀 准备处理项目:{project} | 数据库:{database}") |
| | | updater = DatabaseUpdater(project, host, database, user, password) |
| | | project, host, port, database, user, password = row[:6] |
| | | print(f"\n🚀 准备处理项目:{project} | 数据库:{database} | 端口:{port}") |
| | | updater = DatabaseUpdater(project, host, database, user, password, port) |
| | | updaters.append(updater) |
| | | |
| | | # 执行更新任务 |