RedmineMigrate » History » Version 14

Clauber Anjos, 2010-01-06 17:24

1 14 Clauber Anjos
*h1. Migrating from other systems
2 1 Jean-Philippe Lang
3 1 Jean-Philippe Lang
{{>TOC}}
4 1 Jean-Philippe Lang
5 1 Jean-Philippe Lang
h2. Trac
6 1 Jean-Philippe Lang
7 1 Jean-Philippe Lang
The Trac importer migrates:
8 14 Clauber Anjos
!!
9 1 Jean-Philippe Lang
    * Users
10 1 Jean-Philippe Lang
    * Components
11 1 Jean-Philippe Lang
    * Milestones
12 1 Jean-Philippe Lang
    * Tickets
13 1 Jean-Philippe Lang
    * Ticket comments and changes (status and resolution)
14 7 Jean-Philippe Lang
    * Trac specific fields (eg. Resolution) are added as custom fields in Redmine
15 1 Jean-Philippe Lang
    * Ticket files and custom fields
16 1 Jean-Philippe Lang
    * Wiki pages with history
17 1 Jean-Philippe Lang
18 1 Jean-Philippe Lang
Notes:
19 1 Jean-Philippe Lang
20 8 Jean-Philippe Lang
# User passwords are all set to @trac@
21 7 Jean-Philippe Lang
# Ticket ids are preserved if there's no ticket in your Redmine database yet
22 8 Jean-Philippe Lang
# Custom fields are all created as text custom fields in Redmine
23 1 Jean-Philippe Lang
24 11 Barbara Post
You need the sqlite-ruby gem to access the Trac database.
25 11 Barbara Post
26 11 Barbara Post
- For sqlite: <pre>gem install sqlite-ruby</pre>
27 11 Barbara Post
- For sqlite3: <pre>gem install sqlite3-ruby</pre>
28 1 Jean-Philippe Lang
29 1 Jean-Philippe Lang
Before starting, you need a fresh Redmine database, *with default data loaded (required)*. See [[RedmineInstall|Redmine installation]].
30 3 Jean-Philippe Lang
31 12 Barbara Post
The script was tested with a 0.10 Trac sqlite database and a 0.11 Trac sqlite3 database.
32 1 Jean-Philippe Lang
33 1 Jean-Philippe Lang
1. Run the following command, where test is your Redmine target environment:
34 1 Jean-Philippe Lang
35 1 Jean-Philippe Lang
  rake redmine:migrate_from_trac RAILS_ENV="test"
36 2 Jean-Philippe Lang
37 1 Jean-Philippe Lang
2. The script asks you for your Trac settings:
38 1 Jean-Philippe Lang
39 1 Jean-Philippe Lang
<pre>
40 1 Jean-Philippe Lang
Trac directory []: /var/trac/myproject
41 7 Jean-Philippe Lang
Trac database adapter (sqlite, sqlite3, mysql, postgresql) [sqlite]:
42 1 Jean-Philippe Lang
Database encoding [UTF-8]:
43 1 Jean-Philippe Lang
Target project identifier []: myproject
44 1 Jean-Philippe Lang
</pre>
45 1 Jean-Philippe Lang
46 7 Jean-Philippe Lang
Trac directory is the root directory of your Trac environment. Redmine will look in this directory for @db/trac.db@ (if you choose sqlite/sqlite3 database) and the @attachments@ directory.
47 7 Jean-Philippe Lang
When using a mysql or postgresql Trac database, the script will ask you for the connection parameters (host, database name, username and password).
48 1 Jean-Philippe Lang
Target project identifier is the identifier of the Redmine project in which the data will be loaded (the project is created if not found).
49 1 Jean-Philippe Lang
50 1 Jean-Philippe Lang
4. The script migrates your data:
51 1 Jean-Philippe Lang
52 1 Jean-Philippe Lang
<pre>
53 1 Jean-Philippe Lang
Deleting data
54 1 Jean-Philippe Lang
Migrating components..............................
55 1 Jean-Philippe Lang
Migrating milestones..............
56 1 Jean-Philippe Lang
Migrating custom fields.......
57 1 Jean-Philippe Lang
Migrating tickets.................................
58 1 Jean-Philippe Lang
Migrating wiki...........
59 1 Jean-Philippe Lang
60 1 Jean-Philippe Lang
Components: 29/30
61 1 Jean-Philippe Lang
Milestones: 14/14
62 1 Jean-Philippe Lang
Tickets: 1275/1275
63 1 Jean-Philippe Lang
Ticket files: 106/106
64 1 Jean-Philippe Lang
Custom values: 4409/4409
65 1 Jean-Philippe Lang
Wiki edits: 102/102
66 1 Jean-Philippe Lang
</pre>
67 1 Jean-Philippe Lang
68 1 Jean-Philippe Lang
The script gives you the total number of migrated objects.
69 7 Jean-Philippe Lang
Now, you should see a project called Myproject in Redmine with your Trac data loaded in this project.
70 1 Jean-Philippe Lang
71 1 Jean-Philippe Lang
h2. Mantis
72 1 Jean-Philippe Lang
73 1 Jean-Philippe Lang
The Mantis importer migrates:
74 1 Jean-Philippe Lang
75 1 Jean-Philippe Lang
    * Users
76 1 Jean-Philippe Lang
    * Projects
77 1 Jean-Philippe Lang
    * Project versions, categories and news
78 1 Jean-Philippe Lang
    * Project memberships
79 1 Jean-Philippe Lang
    * Bugs
80 1 Jean-Philippe Lang
    * Bug notes, files, relations and monitors
81 1 Jean-Philippe Lang
    * Custom fields
82 1 Jean-Philippe Lang
83 1 Jean-Philippe Lang
User passwords are all set to "mantis".
84 1 Jean-Philippe Lang
85 8 Jean-Philippe Lang
Bug files migration only works if they're stored in your Mantis database (this is the default Mantis behaviour).
86 1 Jean-Philippe Lang
87 1 Jean-Philippe Lang
The script was tested with different 1.0.x Mantis databases and should work with any other recent versions.
88 5 Jean-Philippe Lang
89 5 Jean-Philippe Lang
Before starting, you need a fresh Redmine database, *with default data loaded (required)*. See [[RedmineInstall|Redmine installation]].
90 1 Jean-Philippe Lang
91 1 Jean-Philippe Lang
1. Run the following command, where test is your Redmine target environment:
92 1 Jean-Philippe Lang
93 2 Jean-Philippe Lang
  rake redmine:migrate_from_mantis RAILS_ENV="test"
94 1 Jean-Philippe Lang
95 1 Jean-Philippe Lang
2. The script asks you for your Mantis database settings:
96 1 Jean-Philippe Lang
97 1 Jean-Philippe Lang
<pre>
98 1 Jean-Philippe Lang
Please enter settings for your Mantis database
99 1 Jean-Philippe Lang
adapter [mysql]:
100 1 Jean-Philippe Lang
host [localhost]:
101 1 Jean-Philippe Lang
database [bugtracker]: mantis
102 1 Jean-Philippe Lang
username [root]:
103 1 Jean-Philippe Lang
password []:
104 1 Jean-Philippe Lang
encoding [UTF-8]:
105 1 Jean-Philippe Lang
</pre>
106 1 Jean-Philippe Lang
107 1 Jean-Philippe Lang
Give the adapter, host name, database name, login, password and encoding of your Mantis database, or leave the default values.
108 1 Jean-Philippe Lang
109 1 Jean-Philippe Lang
The adapter can be mysql (default) or postgresql.
110 1 Jean-Philippe Lang
111 1 Jean-Philippe Lang
3. The script migrates your data:
112 1 Jean-Philippe Lang
113 1 Jean-Philippe Lang
<pre>
114 1 Jean-Philippe Lang
Migrating users...............
115 1 Jean-Philippe Lang
Migrating projects.............
116 1 Jean-Philippe Lang
Migrating bugs........................................
117 1 Jean-Philippe Lang
Migrating news...
118 1 Jean-Philippe Lang
Migrating custom fields..
119 1 Jean-Philippe Lang
120 1 Jean-Philippe Lang
Users: 15/15
121 1 Jean-Philippe Lang
Projects: 13/13
122 1 Jean-Philippe Lang
Memberships: 10/10
123 1 Jean-Philippe Lang
Versions: 33/33
124 1 Jean-Philippe Lang
Categories: 4/4
125 1 Jean-Philippe Lang
Bugs: 180/180
126 1 Jean-Philippe Lang
Bug notes: 336/336
127 1 Jean-Philippe Lang
Bug files: 46/46
128 1 Jean-Philippe Lang
Bug relations: 11/11
129 1 Jean-Philippe Lang
Bug monitors: 8/8
130 1 Jean-Philippe Lang
News: 3/3
131 1 Jean-Philippe Lang
Custom fields: 2/2
132 1 Jean-Philippe Lang
</pre>
133 1 Jean-Philippe Lang
134 1 Jean-Philippe Lang
The script gives you the total number of migrated objects.
135 9 Jean-Philippe Lang
136 9 Jean-Philippe Lang
h2. Other systems
137 9 Jean-Philippe Lang
138 9 Jean-Philippe Lang
You can find other importers submitted by Redmine users:
139 9 Jean-Philippe Lang
* Jira importer: #1385
140 13 Lucas Panjer
* Bugzilla importer: #989
141 1 Jean-Philippe Lang
* Scarab importer: #2928
142 1 Jean-Philippe Lang
143 14 Clauber Anjos
These scripts are neither tested nor supported**.<pre>
144 14 Clauber Anjos
145 14 Clauber Anjos
</pre>*