summaryrefslogtreecommitdiff
path: root/lib/tasks/migrate
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-04-05 20:44:16 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-04-05 20:44:16 +0300
commit0da5a4fab136158f9a51de1f92f74ebd9ea922a2 (patch)
treea646d1ee18e8e747dd22c3e25084ba1a776cbe16 /lib/tasks/migrate
parent10902c844fe834399e9b909b75ab3ea502c64a89 (diff)
downloadgitlab-ce-0da5a4fab136158f9a51de1f92f74ebd9ea922a2.tar.gz
separate rake task for migration and persistent one
Diffstat (limited to 'lib/tasks/migrate')
-rw-r--r--lib/tasks/migrate/migrate_mr.rake11
-rw-r--r--lib/tasks/migrate/migrate_wiki.rake42
2 files changed, 53 insertions, 0 deletions
diff --git a/lib/tasks/migrate/migrate_mr.rake b/lib/tasks/migrate/migrate_mr.rake
new file mode 100644
index 00000000000..6c2312b053c
--- /dev/null
+++ b/lib/tasks/migrate/migrate_mr.rake
@@ -0,0 +1,11 @@
+# This taks will reload commits/diff for all merge requests
+desc "GITLAB | Migrate Merge Requests"
+task migrate_merge_requests: :environment do
+ MergeRequest.find_each(batch_size: 20) do |mr|
+ mr.st_commits = []
+ mr.save
+ mr.reload_code
+ print '.'
+ end
+end
+
diff --git a/lib/tasks/migrate/migrate_wiki.rake b/lib/tasks/migrate/migrate_wiki.rake
new file mode 100644
index 00000000000..5d9881e45db
--- /dev/null
+++ b/lib/tasks/migrate/migrate_wiki.rake
@@ -0,0 +1,42 @@
+namespace :gitlab do
+ namespace :wiki do
+
+ # This task will migrate all of the existing Wiki
+ # content stored in your database into the new
+ # Gollum Wiki system. A new repository named
+ # namespace/project.wiki.git will be created for
+ # each project that currently has Wiki pages in
+ # the database.
+ #
+ # Notes:
+ # * The existing Wiki content will remain in your
+ # database in-tact.
+ desc "GITLAB | Migrate Wiki content from database to Gollum repositories."
+ task :migrate => :environment do
+ wiki_migrator = WikiToGollumMigrator.new
+ wiki_migrator.migrate!
+ end
+
+ # This task will destroy all of the Wiki repos
+ # that the Wiki migration task created. Run this
+ # to clean up your environment if you experienced
+ # problems during the original migration. After
+ # executing this task, you can attempt the original
+ # migration again.
+ #
+ # Notes:
+ # * This will not affect Wikis that have been created
+ # as Gollum Wikis only. It will only remove the wikis
+ # for the repositories that have old Wiki data in the
+ # dataabase.
+ # * If you have any repositories already named
+ # namespace/project.wiki that you do not wish
+ # to be removed you may want to perform a manual
+ # cleanup instead.
+ desc "GITLAB | Remove the Wiki repositories created by the `gitlab:wiki:migrate` task."
+ task :rollback => :environment do
+ wiki_migrator = WikiToGollumMigrator.new
+ wiki_migrator.rollback!
+ end
+ end
+end