private boolean createDatabase(){
		String hostname = this.getConfig().getString("database.hostname"); 
		String portnmbr = this.getConfig().getString("database.portnmbr");  
		String database = this.getConfig().getString("database.database");  
		String username = this.getConfig().getString("database.username");  
		String password = this.getConfig().getString("database.password");
        Integer maxConnections = this.getConfig().getInt("database.maxconnections");
		
		mysql = new MySQLDatabase(hostname, portnmbr, database, username, password, maxConnections);
		
		boolean transexists = false;
		boolean exists = false;

        PooledConnection connection = mysql.getConnection();
        try {

			ResultSet result = connection.getSQLConnection().getMetaData().getTables(null, null, "Player", null);
			if(result.next())
				exists = true;
			
			String player = "CREATE TABLE Player"
					+ "("
					+ "id int NOT NULL AUTO_INCREMENT,"
					+ "name varchar(255) NOT NULL,"
					+ "karma int NOT NULL,"
					+ "PRIMARY KEY (id)"
					+ ")";
			
			result = connection.getSQLConnection().getMetaData().getTables(null, null, "Transaction", null);
			
			String transaction = "CREATE TABLE Transaction"
					+ "("
					+ "id int NOT NULL AUTO_INCREMENT,"
					+ "player int NOT NULL,"
					+ "admin varchar(255) NOT NULL,"
					+ "timestamp timestamp NOT NULL,"
					+ "reason varchar(255),"
					+ "value smallint NOT NULL,"
					+ "PRIMARY KEY (id),"
					+ "FOREIGN KEY (player) REFERENCES Player(id)"
					+ ")";
			//if(result.next()){
			//	transaction = "ALTER TABLE Transaction ADD reason varchar(255);";
			//}
			if(result.next()){
				transexists = true;
			}

			if(!exists)
                connection.query(player);
			if(!transexists)
                connection.query(transaction);
		} catch (SQLException e) {
			e.printStackTrace();
			this.getLogger().log(Level.SEVERE, "Cannot connect to database.");
			Bukkit.getPluginManager().disablePlugin(this);
			return false;
		} catch (Exception e){
			e.printStackTrace();
		} finally {
            connection.close();
        }

		return true;
	}