DeRedmineMigrate » History » Revision 5
Revision 4 (Robert Schneider, 2015-07-12 23:05) → Revision 5/7 (Robert Schneider, 2015-07-12 23:20)
{{>toc}} Übersetzung von "Rev. 32":http://www.redmine.org/projects/redmine/wiki/DeRedmineMigrate/32 31":http://www.redmine.org/projects/redmine/wiki/DeRedmineMigrate/31 h1. Migration von anderen Systemen h2. 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: # Die Benutzerpasswörter werden alle auf @trac@ gesetzt # Die IDs der Tickets bleiben erhalten, sofern noch keine Tickets in der Redmine-Datenbank angelegt sind # 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 [[DeRedmineInstall|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: <pre> Trac directory []: /var/trac/myproject Trac database adapter (sqlite, sqlite3, mysql, postgresql) [sqlite]: Database encoding [UTF-8]: Target project identifier []: myproject </pre> 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: <pre> 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 </pre> 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. h2. 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 [[DeRedmineInstall|Redmine installieren]] zu finden. Für einer Migration in eine bereits befüllte Redmine-Datenbank kann das "Nicht-destruktive Migrationsskript":http://blog.foaa.de/2010/04/non-destructive-migration-from-mantis-to-redmine/ von "Ulrich":email://uk@fortrabbit.de 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: <pre> Please enter settings for your Mantis database adapter [mysql]: host [localhost]: database [bugtracker]: mantis username [root]: password []: encoding [UTF-8]: </pre> 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: <pre> 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 </pre> Das Skript gibt die Anzahlt der migrierten Objekte aus. h2. Andere Systeme und Skripte von Dritten Weitere von Redmine-Benutzern erstellte Importer: * "Nicht-destruktive Migration Mantis zu Redmine":http://blog.foaa.de/2010/04/non-destructive-migration-from-mantis-to-redmine/ * Jira-Importer: #1385 * Bugzilla-Importer: #989 Derzeit gibt es zwei Bugzilla-Importer. bz2redmine http://github.com/ralli/bz2redmine und migrate_from_bugzilla http://github.com/ralli/migrate_from_bugzilla. bz2redmine erhält die originalen Bugzilla Bug-Nummern, während der Rake-Task migrate_from_bugzilla das ActiveRecord-Framework einsetzt und sich zum Migrieren von und nach PostgreSQL-Datenbanken verwenden lässt. * Scarab-Importer: #2928 * Mantis 1.2.0rc1: http://www.webismymind.be/page/fr/17/migrate-mantis-120rc1-to-redmine.html * Migrieren von Projekten aus anderen Redmine-Installationen: https://github.com/PowerKiKi/redmine-tools * "Ein Trick um um Daten aus Mantis zu migrieren":http://dotnetmarche.org/blogs/externalblogs/archive/2009/05/29/redmine-a-trick-to-import-data-from-mantis.aspx * Migration von phpBugTracker-1.0.5 zu Redmine 2.5: https://github.com/ottodude125/migrate_from_phpbt_to_redmine - Wenn es auch nicht identisch ist, so gibt es doch einige Ähnlichkeiten zum Mantis-Importskript. Diese Skripte sind weder getestet noch werden sie unterstützt.