# 2.2.0 Upgrade Guide

### Backup Configuration

Copy all of your configuration (settings.yml, permissions.yml, aliases.yml, embeds.yml and errors.json) to a safe place to help you configure the bot later, or in case you wish to downgrade. Do not copy application.yml. Additionally, you should backup the `filter.txt` file in the cogs > admin folder to save your blacklisted words.

### Backup Databases

If you are using SQLite for storage, copy your `database` folder to a safe place to restore after installing the new version.

### Update ZeoBot

After you have backed up your configuration files and databases, you will need to re-install ZeoBot as there are configuration and structure changes. Download the latest release from MC-Market and unzip it to a different folder. Make sure there are no traces of the old version in this folder.

### Migrate Databases

If you are using SQLite, make sure the database type is set to SQLite in the configuration. Create a folder in the ZeoBot folder called `database`. Paste all your database files here.\
If you are using PostgreSQL or MySQL, make sure your database details are filled in the configuration.&#x20;

Now, open the `migration` folder, then open the `2.2.0` folder and run the `migrate_databases.py` file. (`python3 migrate_databases.py` for macOS and Linux or `py -3.9 migrate_databases.py` for Windows).&#x20;

### Configure and Run ZeoBot

After your databases have been migrated, configure ZeoBot's new configuration files, using the old files as a guide. There are changes to configuration in all configuration files so do not use your old configuration files directly. Using a diff tool such as [diffchecker](https://www.diffchecker.com) is recommended to find changes. You can directly paste your `filter.txt` file into the cogs > admin folder however. Finally, run ZeoBot in the same way as before, following the [Dependencies](/installation/3.-dependencies.md) guide.&#x20;

{% hint style="info" %}
Make sure you run the migration script from the `2.2.0` folder. Do not use the `2.0.0` scripts.
{% endhint %}

{% hint style="danger" %}
If database migration fails, you will have to delete the databases in the case of SQLite or reset the database in the case of PostgreSQL or MySQL.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zingyawesome.com/upgrading/2.2.0-upgrade-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
