Version 7 (modified by Jun Omae, 4 years ago) (diff)


Migrate to new environment with another database


The plugin provides script and migrate command of trac-admin which migrates to new environment with another database.

Bugs/Feature Requests

Existing bugs and feature requests for TracMigratePlugin are here.

If you have any issues, create a new ticket.


Download the zipped source from [download:tracmigrateplugin here].


You can check out TracMigratePlugin from here using Subversion, or browse the source with Trac.

Usage without installation

  1. Checkout or export latest source.
    svn co /path/to/tracmigrateplugin
  2. If new environment uses PostgreSQL or MySQL, create database for the new environment. See DatabaseBackend#BackendSpecificInstallationInstructions.
  3. Run
    $ cd /path/to/tracmigrateplugin
    $ ./ /path/to/source /path/to/destination mysql://tracuser:password@localhost/trac
    Copying tables:
      attachment table... 10 records.
      auth_cookie table... 9 records.
      cache table... 11 records.


  1. Install the plugin for Trac 0.12 or later.
  2. Enable the plugin in trac.ini of your source environment.
    tracmigrate.* = enabled


$ ./

  $ ./ /path/to/source /path/to/dest sqlite:db/trac.db
  $ ./ /path/to/source /path/to/dest postgres://tracuser:password@localhost/trac?schema=destination
  $ ./ /path/to/source /path/to/dest mysql://tracuser:password@localhost/trac

$ ./ /path/to/source-tracenv migrate /path/to/destination-tracenv postgres://tracuser:password@localhost/trac?schema=destination
Copying tables:
  attachment table... 10 records.
  auth_cookie table... 9 records.
  cache table... 11 records.
  component table... 5 records.
  enum table... 13 records.
  milestone table... 7 records.
  node_change table... 37 records.
  permission table... 17 records.
  report table... 11 records.
  repository table... 5 records.
  revision table... 35 records.
  session table... 2 records.
  session_attribute table... 19 records.
  ticket table... 35 records.
  ticket_change table... 110 records.
  ticket_custom table... 375 records.
  version table... 2 records.
  wiki table... 93 records.
Copying directories:
  attachments directory... done.
  htdocs directory... done.
  templates directory... done.
  plugins directory... done.


Recent Changes

15444 by jun66j5 on 2016-03-21 16:26:26
TracMigratePlugin: bump up the version and call setuptools.setup() only if run as a script
15443 by jun66j5 on 2016-03-21 11:12:39
TracMigratePlugin: fix not migrating tables when installed egg files in plugins directory (closes #12696)
15436 by jun66j5 on 2016-03-15 07:51:08
TracMigratePlugin: fix not migrating all options in [trac] section (refs #12697)


Author: jun66j5
Maintainer: jun66j5