Import Planio Backup into Redmine

Set up Redmine

Use the working Redmine installation with your Planio data

  • The Backup you can download from your Planio account contains a MySQL database dump, import that into another MySQL DB.
  • Change the database connection settings of your Redmine to point to this database.
  • The Planio backup also contains all the attachment data, move that to the files directory inside your Redmine installation. Uploads are segmented by year and month, the resulting folder structure should look like that: redmine_directory/files/yyyy/mm/.
  • Upgrade the database scheme to account for the new Redmine version

Set up open source plugins (optional)

  • Planio comes with Agile and Checklist plugins pre-installed. We provide the Pro versions, but the Free versions will work as well (minus the pro-only features). Simply install these into the plugins directory of your Redmine setup if you want to continue using them.
  • Install required ruby libraries for the plugins (repeat the bundle install command from the initial setup)
  • Upgrade the database scheme to account for updates in the plugins compared to the versions Planio runs (again, see

At this point you should have a working Redmine with your Planio data and optional Agile and Checklists plugins.

Things you will lose when moving away from Planio

The following modules are developed in-house by us and are only available to Planio customers:

  • Help Desk
  • Storage
  • Chat

All corresponding data is included in the DB dump and files directory but lacking the plugins it will simply be ignored by your Redmine installation.


Delete custom field definitions for Planio data types

If you had been using custom fields for entities provided by proprietary Planio plugins (such as Help Desk or Storage), you will have to delete these as otherwise Redmine will not work properly.

  custom_fields, custom_field_enumerations, custom_fields_projects, custom_fields_roles, custom_fields_trackers, custom_values
LEFT JOIN custom_field_enumerations ON custom_field_enumerations.custom_field_id =
LEFT JOIN custom_fields_projects ON custom_fields_projects.custom_field_id =
LEFT JOIN custom_fields_roles ON custom_fields_roles.custom_field_id =
LEFT JOIN custom_fields_trackers ON custom_fields_trackers.custom_field_id =
LEFT JOIN custom_values ON custom_values.custom_field_id =
  custom_fields.type IN ('CompanyCustomField', 'ContactCustomField', 'StorageFolderCustomField', 'StorageFileCustomField');

Updated by Jens Krämer about 3 years ago · 3 revisions

Also available in: PDF HTML ODT TXT