RedmineMigrate

Version 2 (Jean-Philippe Lang, 2007-09-29 13:34)

1 1 Jean-Philippe Lang
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 1 Jean-Philippe Lang
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 1 Jean-Philippe Lang
    * Ticket files and custom fields
15 1 Jean-Philippe Lang
    * Wiki pages with history
16 1 Jean-Philippe Lang
17 1 Jean-Philippe Lang
Notes:
18 1 Jean-Philippe Lang
19 1 Jean-Philippe Lang
# User passwords are all set to ‘trac’
20 1 Jean-Philippe Lang
# Ticket ids are preserved
21 1 Jean-Philippe Lang
# Custom fields are all created as ‘text’ custom fields in Redmine
22 1 Jean-Philippe Lang
23 1 Jean-Philippe Lang
You need the sqlite-ruby gem (gem install sqlite-ruby) to access the Trac database.
24 1 Jean-Philippe Lang
25 1 Jean-Philippe Lang
The script was tested with a 0.10 Trac database and should work with 0.11 databases. It only supports SQLite Trac databases for now.
26 1 Jean-Philippe Lang
27 1 Jean-Philippe Lang
28 1 Jean-Philippe Lang
1. Run the following command, where test is your Redmine target environment:
29 1 Jean-Philippe Lang
30 2 Jean-Philippe Lang
  rake redmine:migrate_from_trac RAILS_ENV="test"
31 1 Jean-Philippe Lang
32 1 Jean-Philippe Lang
2. The script asks you for your Trac settings:
33 1 Jean-Philippe Lang
34 1 Jean-Philippe Lang
<pre>
35 1 Jean-Philippe Lang
Trac directory []: /var/trac/myproject
36 1 Jean-Philippe Lang
Database encoding [UTF-8]:
37 1 Jean-Philippe Lang
Target project identifier []: myproject
38 1 Jean-Philippe Lang
</pre>
39 1 Jean-Philippe Lang
40 1 Jean-Philippe Lang
Trac directory is the root directory of your Trac environment. Redmine will look in this directory for db/trac.db and attachments directory.
41 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).
42 1 Jean-Philippe Lang
43 1 Jean-Philippe Lang
4. The script migrates your data:
44 1 Jean-Philippe Lang
45 1 Jean-Philippe Lang
<pre>
46 1 Jean-Philippe Lang
Deleting data
47 1 Jean-Philippe Lang
Migrating components..............................
48 1 Jean-Philippe Lang
Migrating milestones..............
49 1 Jean-Philippe Lang
Migrating custom fields.......
50 1 Jean-Philippe Lang
Migrating tickets.................................
51 1 Jean-Philippe Lang
Migrating wiki...........
52 1 Jean-Philippe Lang
53 1 Jean-Philippe Lang
Components: 29/30
54 1 Jean-Philippe Lang
Milestones: 14/14
55 1 Jean-Philippe Lang
Tickets: 1275/1275
56 1 Jean-Philippe Lang
Ticket files: 106/106
57 1 Jean-Philippe Lang
Custom values: 4409/4409
58 1 Jean-Philippe Lang
Wiki edits: 102/102
59 1 Jean-Philippe Lang
</pre>
60 1 Jean-Philippe Lang
61 1 Jean-Philippe Lang
The script gives you the total number of migrated objects.
62 1 Jean-Philippe Lang
Now, you should see a project called Myproject in Redmine with your Trac data loaded in this project.
63 1 Jean-Philippe Lang
64 1 Jean-Philippe Lang
h2. Mantis
65 1 Jean-Philippe Lang
66 1 Jean-Philippe Lang
The Mantis importer migrates:
67 1 Jean-Philippe Lang
68 1 Jean-Philippe Lang
    * Users
69 1 Jean-Philippe Lang
    * Projects
70 1 Jean-Philippe Lang
    * Project versions, categories and news
71 1 Jean-Philippe Lang
    * Project memberships
72 1 Jean-Philippe Lang
    * Bugs
73 1 Jean-Philippe Lang
    * Bug notes, files, relations and monitors
74 1 Jean-Philippe Lang
    * Custom fields
75 1 Jean-Philippe Lang
76 1 Jean-Philippe Lang
User passwords are all set to "mantis".
77 1 Jean-Philippe Lang
78 1 Jean-Philippe Lang
Bug files migration only works if they’re stored in your Mantis database (this is the default Mantis behaviour).
79 1 Jean-Philippe Lang
80 1 Jean-Philippe Lang
The script was tested with different 1.0.x Mantis databases and should work with any other recent versions.
81 1 Jean-Philippe Lang
82 1 Jean-Philippe Lang
1. Run the following command, where test is your Redmine target environment:
83 1 Jean-Philippe Lang
84 2 Jean-Philippe Lang
  rake redmine:migrate_from_mantis RAILS_ENV="test"
85 1 Jean-Philippe Lang
86 1 Jean-Philippe Lang
2. The script asks you for your Mantis database settings:
87 1 Jean-Philippe Lang
88 1 Jean-Philippe Lang
<pre>
89 1 Jean-Philippe Lang
Please enter settings for your Mantis database
90 1 Jean-Philippe Lang
adapter [mysql]:
91 1 Jean-Philippe Lang
host [localhost]:
92 1 Jean-Philippe Lang
database [bugtracker]: mantis
93 1 Jean-Philippe Lang
username [root]:
94 1 Jean-Philippe Lang
password []:
95 1 Jean-Philippe Lang
encoding [UTF-8]:
96 1 Jean-Philippe Lang
</pre>
97 1 Jean-Philippe Lang
98 1 Jean-Philippe Lang
Give the adapter, host name, database name, login, password and encoding of your Mantis database, or leave the default values.
99 1 Jean-Philippe Lang
100 1 Jean-Philippe Lang
The adapter can be mysql (default) or postgresql.
101 1 Jean-Philippe Lang
102 1 Jean-Philippe Lang
3. The script migrates your data:
103 1 Jean-Philippe Lang
104 1 Jean-Philippe Lang
<pre>
105 1 Jean-Philippe Lang
Migrating users...............
106 1 Jean-Philippe Lang
Migrating projects.............
107 1 Jean-Philippe Lang
Migrating bugs........................................
108 1 Jean-Philippe Lang
Migrating news...
109 1 Jean-Philippe Lang
Migrating custom fields..
110 1 Jean-Philippe Lang
111 1 Jean-Philippe Lang
Users: 15/15
112 1 Jean-Philippe Lang
Projects: 13/13
113 1 Jean-Philippe Lang
Memberships: 10/10
114 1 Jean-Philippe Lang
Versions: 33/33
115 1 Jean-Philippe Lang
Categories: 4/4
116 1 Jean-Philippe Lang
Bugs: 180/180
117 1 Jean-Philippe Lang
Bug notes: 336/336
118 1 Jean-Philippe Lang
Bug files: 46/46
119 1 Jean-Philippe Lang
Bug relations: 11/11
120 1 Jean-Philippe Lang
Bug monitors: 8/8
121 1 Jean-Philippe Lang
News: 3/3
122 1 Jean-Philippe Lang
Custom fields: 2/2
123 1 Jean-Philippe Lang
</pre>
124 1 Jean-Philippe Lang
125 1 Jean-Philippe Lang
The script gives you the total number of migrated objects.