diff --git a/db/migrate/20121123104937_add_username_to_user.rb b/db/migrate/20121123104937_add_username_to_user.rb
new file mode 100644
index 0000000000000000000000000000000000000000..04232a119d92b6e651753df4f06aefd6aa51018f
--- /dev/null
+++ b/db/migrate/20121123104937_add_username_to_user.rb
@@ -0,0 +1,5 @@
+class AddUsernameToUser < ActiveRecord::Migration
+  def change
+    add_column :users, :username, :string, null: true
+  end
+end
diff --git a/lib/tasks/gitlab/activate_namespaces.rake b/lib/tasks/gitlab/activate_namespaces.rake
new file mode 100644
index 0000000000000000000000000000000000000000..0c7c3e7160ec28789f441d38b2977601b7512866
--- /dev/null
+++ b/lib/tasks/gitlab/activate_namespaces.rake
@@ -0,0 +1,13 @@
+namespace :gitlab do
+  desc "GITLAB | Enable usernames and namespaces for user projects"
+  task activate_namespaces: :environment do
+    User.find_each(batch_size: 500) do |user|
+      User.transaction do
+        username = user.email.match(/^[^@]*/)[0]
+        user.update_attributes!(username: username)
+        user.create_namespace!(code: username, name: user.name)
+        print '.'.green
+      end
+    end
+  end
+end