批量增加数据库数据
工作中,sit环境需要批量导入已经存在的数据库,以及账号密码,用来管理开发在sit环境执行db的行为。由于涉及到的db众多,手动从前端页面录入费时费力,
因此,写了个小脚本处理数据。
首先把所有数据库处理成列表:
1 def deal_text(): 2 database_list = [] 3 for line in open(r'C:\xxx\databases.txt'): 4 line = line.strip().replace('\n', ',') 5 database_list.append(line) 6 return database_list 7 8 9 if __name__ == '__main__': 10 deal_text()
databse_list = ['rec', 'wfm']
接着执行数据库插入操作:
1 from sqlalchemy import create_engine, MetaData 2 from sqlalchemy import Table 3 4 engine = create_engine('mysql+cymysql://root:password@10.32.23.52:3306/xxx', echo=False) 5 metadata = MetaData(engine) 6 core_table = Table('core_databaselist', metadata, autoload=True) 7 conn = engine.connect() 8 9 def ex(databases_name): 10 for database_name in databases_name: 11 r = dict( 12 connection_name=database_name, 13 computer_room='Own', 14 ip='xxx', 15 username=database_name + '_testrw', 16 port=xxx, 17 password='xxx' 18 ) 19 conn.execute(core_table.insert(), [r]) 20 21 22 if __name__ == '__main__': 23 # 填写数据库名称 24 databases_name=[ 'oas', 'org', 'osp', 'pay', 'pes', 'pf_test', 'pms', 'pre', 'prs', 'sag', 'seal', 'sfm', 'sms', 'sonar'] 25 ex(databases_name)
这样就执行了数据库的批量插入了。注意安装sqlalchemy,cymysql