# Migration Guide

Migrations are only needed when upgrading to a **major version**. See [Versions and Upgrade](/concordialang/upgrade/versioning.md) for more information.

To upgrade to a major version:

1. Uninstall the current version, *e.g.*: `npm uninstall -D concordialang`
2. Install the new version, *e.g.*: `npm install -D concordialang`
3. Now proceed as described below (depending on your current version).

**Note**: For a global installation, replace `-D` with `-g`.

## From `1.x` to `2.x`

**1. Update your plug-in**

Concordia 2 has a new plugin API, not compatible with plug-ins for Concordia 1. So uninstall your current plug-in and install a new one. **Example**:

```
npx concordia --plugin-uninstall codeceptjs-webdriverio
npx concordia --plugin-install codeceptjs-webdriverio
```

**Alternatively**, you can install one of the [new plug-ins](/concordialang/introduction/plugins.md) then change your configuration file to use it. Example:

```
npx concordia --plugin-uninstall codeceptjs-webdriverio
npx concordia --plugin-install codeceptjs-playwright
npx concordia --plugin codeceptjs-playwright --save-config
```

**2. Install database drivers**

Whether your Concordia specification access a database, you have to install the corresponding database driver. Concordia 2 does not install them by default anymore, as Concordia 1 did, aiming to reduce the amount of downloaded dependencies.

Concordia 2 has a new CLI option `--db-install` to help with that. **Example**:

```
npx concordia --db-install mysql
```

See [Database Drivers](broken://pages/-M2_OPHMqXKLO0DiRb6-#installing-database-drivers) to install the proper driver(s) for your application.

## From `0.x` to `1.x`

**1. Update your configuration file, if needed**

Whether you project has a configuration file `.concordiarc`, open it with a text editor. If the file has a property `"plugin"` with the value `"codeceptjs"`, you must change it to `"codeceptjs-webdriverio"`.

**2. Install the new plug-in**

You can install any of the [available plug-ins](/concordialang/introduction/plugins.md), currently `codeceptjs-webdriverio` or `codeceptjs-appium`. Example:

```bash
 concordia --plugin-install codeceptjs-webdriverio
```

## See also

* [Information about the breaking changes](/concordialang/upgrade/breaking-changes.md)
* [Concordia's version numbering](/concordialang/upgrade/versioning.md)


---

# 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://concordialang.gitbook.io/concordialang/upgrade/migration-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.
