def onUpdateDatabase(current, version): # Find the update table for the database driver in use driver = database.driver(WORLD) if driver == 'mysql': updates = MYSQL_UPDATES elif driver == 'sqlite': updates = SQLITE_UPDATES else: console.log(LOG_ERROR, "Unknown database driver: %s.\n" % driver) return False for i in range(version, current): # No update for this version available if not updates.has_key(i): console.log(LOG_ERROR, "No update available for database version %u.\n" % i) return False console.log(LOG_MESSAGE, "Updating database from version %u to %u.\n" % (i, i+1)) try: if not updates[i](): return False except Exception, e: console.log(LOG_ERROR, str(e) + "\n") return False wolfpack.setoption('db_version', str(i + 1)) try: if driver == 'mysql': database.execute("REPLACE INTO `settings` VALUES('db_version', '%u');" % (i + 1)) elif driver == 'sqlite': database.execute("REPLACE INTO settings VALUES('db_version', '%u');" % (i + 1)) except Exception, e: console.log(LOG_WARNING, "Unable to update database version to %u:\n%s\n" % (i + 1, str(e)))
def onUpdateAcctDatabase(current, version): database.open(ACCOUNTS) driver = database.driver(ACCOUNTS) if driver == 'mysql': updates = ACCT_MYSQL_UPDATES elif driver == 'sqlite': updates = ACCT_SQLITE_UPDATES else: console.log(LOG_ERROR, "Unknown database driver for Accounts: %s.\n" % driver) database.close(ACCOUNTS) return False for i in range(version, current): # No update for this version available if not i in updates: console.log(LOG_ERROR, "No update available for database version %u.\n" % i) database.close(ACCOUNTS) return False console.log(LOG_MESSAGE, "Updating database from version %u to %u.\n" % (i, i+1)) try: if not updates[i](): database.close(ACCOUNTS) return False except Exception, e: console.log(LOG_ERROR, str(e) + "\n") database.close(ACCOUNTS) return False # Updating Version Number updateacctversion(i+1, driver)
def onUpdateDatabase(current, version): # Find the update table for the database driver in use driver = database.driver(WORLD) if driver == 'mysql': updates = MYSQL_UPDATES elif driver == 'sqlite': updates = SQLITE_UPDATES else: console.log(LOG_ERROR, "Unknown database driver: %s.\n" % driver) return False for i in range(version, current): # No update for this version available if not i in updates: console.log(LOG_ERROR, "No update available for database version %u.\n" % i) return False console.log(LOG_MESSAGE, "Updating database from version %u to %u.\n" % (i, i + 1)) try: if not updates[i](): return False except Exception, e: console.log(LOG_ERROR, str(e) + "\n") return False wolfpack.setoption('db_version', str(i + 1)) try: if driver == 'mysql': database.execute( "REPLACE INTO `settings` VALUES('db_version', '%u');" % (i + 1)) else: database.execute( "REPLACE INTO settings VALUES('db_version', '%u');" % (i + 1)) except Exception, e: console.log( LOG_WARNING, "Unable to update database version to %u:\n%s\n" % (i + 1, str(e)))
def onUpdateAcctDatabase(current, version): database.open(ACCOUNTS) driver = database.driver(ACCOUNTS) if driver == 'mysql': updates = ACCT_MYSQL_UPDATES elif driver == 'sqlite': updates = ACCT_SQLITE_UPDATES else: console.log(LOG_ERROR, "Unknown database driver for Accounts: %s.\n" % driver) database.close(ACCOUNTS) return False for i in range(version, current): # No update for this version available if not i in updates: console.log(LOG_ERROR, "No update available for database version %u.\n" % i) database.close(ACCOUNTS) return False console.log(LOG_MESSAGE, "Updating database from version %u to %u.\n" % (i, i + 1)) try: if not updates[i](): database.close(ACCOUNTS) return False except Exception, e: console.log(LOG_ERROR, str(e) + "\n") database.close(ACCOUNTS) return False # Updating Version Number updateacctversion(i + 1, driver)
from wolfpack.consts import GRAY, LOG_MESSAGE from wolfpack.time import * import datetime import os # ONLY SET TO TRUE ONCE YOU ARE SETUP FOR THIS! enabled = False # MAKE SURE YOU SET THIS! backup_path = None #backup_path = '/Path/To/Wolfpack/backups' #backup_path = 'C:/Wolfpack/backups' database = wolfpack.database log = wolfpack.console.log accountsdriver = database.driver( database.ACCOUNTS ) worlddriver = database.driver( database.WORLD ) time = int( 24 * 3600000 * 7 ) # Every Week """ \command backupdb \description Performs a backup on the world and account database. \notes This command can only be used if at least one of your databases is using the MySQL driver. """ def onLoad(): if enabled and backup_path: if accountsdriver == 'mysql' or worlddriver == 'mysql': wolfpack.addtimer( time, timer, [ wolfpack.time.currenttime() ] )
from wolfpack.consts import GRAY, LOG_MESSAGE from wolfpack.time import * import datetime import os # ONLY SET TO TRUE ONCE YOU ARE SETUP FOR THIS! enabled = False # MAKE SURE YOU SET THIS! backup_path = None #backup_path = '/Path/To/Wolfpack/backups' #backup_path = 'C:/Wolfpack/backups' database = wolfpack.database log = wolfpack.console.log accountsdriver = database.driver(database.ACCOUNTS) worlddriver = database.driver(database.WORLD) time = int(24 * 3600000 * 7) # Every Week """ \command backupdb \description Performs a backup on the world and account database. \notes This command can only be used if at least one of your databases is using the MySQL driver. """ def onLoad(): if enabled and backup_path: if accountsdriver == 'mysql' or worlddriver == 'mysql': wolfpack.addtimer(time, timer, [wolfpack.time.currenttime()])