Übersetzung von Rev. 32

Migration von anderen Systemen

Trac

Der Trac-Importer migriert:

  • Benutzer
  • Komponenten
  • Meilensteine
  • Tickets
  • Ticketkommentare und -änderungen (Status und Lösung)
  • Trac-spezifische Felder (z.B. Lösung), die als benutzerdefinierte Felder in Redmine hinzugefügt werden
  • Dateien zu Tickets und benutzerdefinierte Felder
  • Wikiseiten samt Historie

Hinweise:

  1. Die Benutzerpasswörter werden alle auf trac gesetzt
  2. Die IDs der Tickets bleiben erhalten, sofern noch keine Tickets in der Redmine-Datenbank angelegt sind
  3. Sämtliche benutzerdefinierte Felder werden in Redmine als benutzerdefinierte Textelder angelegt

Es wird das Gem sqlite-ruby benötigt, damit auf die Trac-Datenbank zugegriffen werden kann

- Für sqlite:

gem install sqlite-ruby

- Für sqlite3:

gem install sqlite3-ruby

Vor dem Aufsetzen wird eine frische Redmine-Datenbank benötigt, die mit den Standarddaten befüllt wurde. Weitere Informationen dazu sind unter Redmine installieren zu finden.

Das Skript wurde für eine sqlite-Datenbank mit Trac-Version 0.10 und für eine sqlite3-Datenbank mit Trac-Version 0.11 getestet.

1. Folgende Anweisung ausführen - bei der test die Zielumgebung darstellt:

rake redmine:migrate_from_trac RAILS_ENV="test"

2. Das Skript (source:trunk/lib/tasks/migrate_from_trac.rake) fragt anschließend nach den Trac-Einstellungen:

Trac directory []: /var/trac/myproject
Trac database adapter (sqlite, sqlite3, mysql, postgresql) [sqlite]:
Database encoding [UTF-8]:
Target project identifier []: myproject

Das Trac-Verzeichnis ist das Root-Verzeichnis der Trac-Umgebung. Redmine schaut in diesem Verzeichnis nach db/trac.db (bei Verwendung einer sqlite/sqlite3-Datenbank) und nach dem Verzeichnis attachments.
Bei Verwendung einer MySQL- oder PostgreSQL-Datenbank für Trac fragt das Skript nach den Verbindungsdaten (Host, Name der Datenbank, Benutzername, Passwort).
Target project identifier ist die ID des Redmine-Projekts, in das die Daten geladen werden (falls das Projekt mit dieser ID nicht existiert, so wird es ggf. angelegt.

3. Nun migriert das Skript die Daten:

Deleting data
Migrating components..............................
Migrating milestones..............
Migrating custom fields.......
Migrating tickets.................................
Migrating wiki...........

Components: 29/30
Milestones: 14/14
Tickets: 1275/1275
Ticket files: 106/106
Custom values: 4409/4409
Wiki edits: 102/102

Das Skript gibt die Anzahl der migrierten Objekte aus.
Jetzt sollte in Redmine ein Projekt names Myproject vorhanden sein, das mit den Daten aus Trac befüllt ist.

Mantis

Der Mantis-Importer migriert:

  • Benutzer
  • Projekte
  • Projektversionen, -kategorien und -nachrichten
  • Projektmitgliedschaften
  • Bugs
  • Bug-Notizen, Dateien, Relationen und Monitore
  • Benutzerdefinierte Felder

Alle Passwörter werden auf mantis gesetzt.

Bug-Dateien werden nur migriert, wenn sie in die Mantis-Datenbank gespeichert wurden (ist das Standardverhalten von Mantis).

Das Skript wurde mit Version 1.0.x der Mantis-Datenbank getestet und sollte auch mit folgenden Versionen funktionieren.

Vor dem Aufsetzen wird eine frische Redmine-Datenbank benötigt, die mit den Standarddaten befüllt wurde. Weitere Informationen dazu sind unter Redmine installieren zu finden.
Für einer Migration in eine bereits befüllte Redmine-Datenbank kann das Nicht-destruktive Migrationsskript von Ulrich verwendet werden.

Das Patch #10504 muss angewendet worden sein.

1. Folgende Anweisung ausführen - bei der test die Zielumgebung darstellt:

rake redmine:migrate_from_mantis RAILS_ENV="test"

2. Das Skript fragt anschließend nach den Datenbank-Einstellungen:

Please enter settings for your Mantis database
adapter [mysql]:
host [localhost]:
database [bugtracker]: mantis
username [root]:
password []:
encoding [UTF-8]:

Es können der zu verwendende Adapter, Host-Name, Datenbank-Name, Benutzername, das Passwort und das Encoding der Mantis-Datenbank angegeben, oder die Standardwerte belassend werden.

Der Adapter kann mysql oder postgresql sein.

3. Nun migriert das Skript die Daten:

Migrating users...............
Migrating projects.............
Migrating bugs........................................
Migrating news...
Migrating custom fields..

Users: 15/15
Projects: 13/13
Memberships: 10/10
Versions: 33/33
Categories: 4/4
Bugs: 180/180
Bug notes: 336/336
Bug files: 46/46
Bug relations: 11/11
Bug monitors: 8/8
News: 3/3
Custom fields: 2/2

Das Skript gibt die Anzahlt der migrierten Objekte aus.

Andere Systeme und Skripte von Dritten

Weitere von Redmine-Benutzern erstellte Importer:

Diese Skripte sind weder getestet noch werden sie unterstützt.