Files
kimai2/UPGRADING.md

4.5 KiB

Upgrading Kimai 2

Database upgrades are currently ONLY provided for MySQL/MariaDB and SQLite.

If you plan on using e.g. PostgreSQL, please read more about the bin/console doctrine:migrations:diff and bin/console doctrine:migrations:migrate commands and contact us, so we can integrate them into the official releases.

A normal upgrade can be executed with these commands:

git pull origin master
sudo -u www-data composer install --no-dev --optimize-autoloader
sudo -u www-data bin/console cache:clear --env=prod
sudo -u www-data bin/console cache:warmup --env=prod
bin/console doctrine:migrations:migrate

There might be version specific tasks that need to be executed before or after these steps, please see below if your updated version is mentioned below.

0.8 (unreleased)

There was a change introduced regarding the storage of the date-time objects in timesheet records. Please read this Pull request carefully before you follow the instructions to convert the timezones in your existing time records with bin/console kimai:convert-timezone --help.

If you don't do that, you will end up with wrong times in your database. Be especially careful, when you previously imported data from Kimai v1.

0.7 (2019-01-28)

The configuration kimai.theme.active_warning was deprecated and should be replaced in your local.yaml, read config docs for more information.

0.6.1 (2018-11-19)

A bugfix release to address database compatibility issues with older MySQL/MariaDB versions.

0.6 (2018-11-18)

The API has some minor BC breaks: some fields were renamed and entities have a larger attribute set than collections. Be aware that the API is still is development mode and shouldn't be considered stable for now.

0.5 (2018-09-27)

Some configuration nodes were removed, if you have one of them in your local.yaml you need to delete them before you start the update:

  • kimai.invoice.calculator
  • kimai.invoice.renderer
  • kimai.invoice.number_generator

The new config kimai.invoice.documents was introduced, holding a list of directories (read more).

BC break: InvoiceTemplate name was changed from 255 characters to 60. If you used longer invoice-template names, they will be truncated when upgrading the database. Please make sure that they are unique in the first 60 character before you upgrade your database with doctrine:migrations:migrate.

0.4 (2018-09-01)

In the time between 0.3 and 0.4 there was a release of composer that introduced a BC break, which leads to problems between Composer and Symfony Flex, resulting in an error like this when running it:

  [ErrorException]
  Declaration of Symfony\Flex\ParallelDownloader::getRemoteContents($originUrl, $fileUrl, $context) should be compatible with Composer\Util\RemoteFilesystem::getRemoteContents($originUrl, $fileUrl, $context, ?array &$responseHeaders = NULL)

This can be fixed by updating Composer and Flex before executing the Kimai update:

sudo composer self-update
sudo -u www-data composer update symfony/flex --no-plugins --no-scripts

Then the full update can be executed as usual:

git pull origin master
sudo -u www-data composer install --no-dev --optimize-autoloader
sudo -u www-data bin/console cache:clear --env=prod
sudo -u www-data bin/console cache:warmup --env=prod
bin/console doctrine:migrations:migrate

0.3 (2018-07-22)

Update from 0.2:

You need to adjust your .env file and add your from address for all emails generated by Kimai 2:

MAILER_FROM=kimai@example.com

Create a file and database backup before executing the following steps:

git pull origin master
sudo -u www-data composer install --no-dev --optimize-autoloader
sudo -u www-data bin/console cache:clear --env=prod
sudo -u www-data bin/console cache:warmup --env=prod
bin/console doctrine:migrations:version --add 20180701120000
bin/console doctrine:migrations:migrate