|Version 7 (modified by jun66j5, 10 months ago) (diff)|
Migrate to new environment with another database
The plugin provides trac-migrate.py script and migrate command of trac-admin which migrates to new environment with another database.
If you have any issues, create a new ticket.
Download the zipped source from here.
Usage without installation
- Checkout or export latest source.
svn co http://trac-hacks.org/svn/tracmigrateplugin/0.12 /path/to/tracmigrateplugin
- If new environment uses PostgreSQL or MySQL, create database for the new environment. See DatabaseBackend#BackendSpecificInstallationInstructions.
- Run trac-migrate.py.
$ cd /path/to/tracmigrateplugin $ ./trac-migrate.py /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. ....
- Install the plugin for Trac 0.12 or later.
- Enable the plugin in trac.ini of your source environment.
[components] tracmigrate.* = enabled
$ ./trac-migrate.py Usage: ./trac-migrate.py SOURCE-TRACENV DEST-TRACENV DBURI Examples: $ ./trac-migrate.py /path/to/source /path/to/dest sqlite:db/trac.db $ ./trac-migrate.py /path/to/source /path/to/dest postgres://tracuser:password@localhost/trac?schema=destination $ ./trac-migrate.py /path/to/source /path/to/dest mysql://tracuser:password@localhost/trac
$ ./trac-migrate.py /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.
-  by jun66j5 on 2014-08-07 09:02:15
tracmigrate: don't pass db parameter for Environment.get_version since the parameter has been removed in 1.1.2dev (refs #11899, trac:r12826)
-  by jun66j5 on 2014-08-07 08:43:06
tracmigrate: directly retreive database connection rather than deprecated Environment.get_db_cnx (refs #11899, trac:r13064)
-  by jun66j5 on 2014-04-03 07:51:11
tracmigrate: prevent AssertionError from PooledConnection.__del__ on Python interpreter's termination