# Upgrading a database

To upgrade a database, you must explicitly request an upgrade the first time you connect to the database with the new version of Derby.

Ensure that you complete the prerequisite steps before you upgrade:

- Back up your database before you upgrade.
- Ensure that only the new Derby jar files are in your CLASSPATH or modulepath.

When you upgrade the database, you can perform a full upgrade or soft upgrade:

- A full upgrade is a complete upgrade of the Derby database. When you perform a full upgrade, you cannot connect to the database with an older version of Derby and you cannot revert back to the previous version. Elsewhere in the documentation, when the term "upgrade" is used without any qualification, it means a full upgrade.
- A soft upgrade allows you to run a newer version of Derby against an existing database without having to fully upgrade the database. This means that you can continue to run an older version of Derby against the database. However, if you perform a soft upgrade, certain features will not be available to you until you perform a full upgrade. Specifically, new features that affect the structure of a database are not available with a soft upgrade. For a list of the new features in a release, see the Release Notes for that release.

To upgrade the database, select the type of upgrade that you want to perform. The following table shows the upgrade types. In both examples, `sample` is a database from a previous version of Derby.

Table 1. Upgrade types
Type of Upgrade | Action
--- | ---
Full upgrade | Connect to the database using the `upgrade=true` database connection URL attribute. For example:
    jdbc:derby:sample;upgrade=true
See "upgrade=true attribute" in the Derby Reference Manual for more information about this attribute.
Soft upgrade | Connect to the database. For example:
    connect 'jdbc:derby:sample'

Parent topic: Upgrades
Related tasks
Preparing to upgrade