from network import * import os import datetime import settings def updatedb(verbose): dbserver = settings.get_setting("dbs") dbpass = settings.get_setting("dbs_pass") dbuser = settings.get_setting("dbs_user") dbname = "lts_ets_pro" tds = settings.get_setting("tds") tds_user = settings.get_setting("tds_user") tds_pass = settings.get_setting("tds_pass") dump = input("DB Dump Pfad:") dbserver_in = input("DB Server (Default: " + dbserver + "):") dbpass_in = input("DB Password (Default: " + dbpass + "):") dbuser_in = input("DB User (Default: " + dbuser + "):") dbname_in = input("DB Name (Default: " + dbname + "):") if dbserver_in is not "": dbserver = dbserver_in if dbpass_in is not "": dbpass = dbpass_in if dbname_in is not "": dbname = dbname_in if dbuser_in is not "": dbuser = dbuser_in print("Dump wird auf DB Server kopiert") execScpCommand(dump, dbserver, dbuser, dbpass, "/opt/postgres") print("Alte Datenbank wird gesichert") db_name = checkLtsccConf(tds, tds_user, tds_pass, "DatabaseName") save_db(dbserver, dbuser, dbpass,db_name, verbose) print("Neue DB wird eingespielt") execSshCommand(dbserver, dbuser, dbpass, "dropdb lts_ets_pro", verbose) execSshCommand(dbserver, dbuser, dbpass, "createdb lts_ets_pro", verbose) execSshCommand(dbserver, dbuser, dbpass, "createdb lts_ets_pro", verbose) onlyName = os.path.basename(dump) execSshCommand(dbserver, dbuser, dbpass, "psql " + dbname + " -f " + onlyName, verbose) execSshCommand(dbserver, dbuser, dbpass, "psql + " + dbname + " -U " + dbuser + "-c \'GRANT CREATE ON DATABASE " + dbname + " TO ets_admin\'", verbose) print("Passe lts-cc.conf an") editLtsccConf(dbserver, dbuser, dbpass, "DatabaseName", onlyName)