Commit a85e11fa authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Improved seeds for development env

parent f0a6fbaa
Project.seed(:id, [ Project.seed(:id, [
{ :id => 1, :name => "Rubinius", :path => "rubinius", :code => "rubinius", :owner_id => 1 }, { id: 1, name: "Underscore.js", path: "underscore", code: "underscore", owner_id: 1 },
{ :id => 2, :name => "Diaspora", :path => "diaspora", :code => "diaspora", :owner_id => 1 }, { id: 2, name: "Diaspora", path: "diaspora", code: "diaspora", owner_id: 1 },
{ :id => 3, :name => "Ruby on Rails", :path => "ruby_on_rails", :code => "ruby_on_rails", :owner_id => 1 } { id: 3, name: "Ruby on Rails", path: "rails", code: "rails", owner_id: 1 }
]) ])
UsersProject.skip_callback(:save, :after, :update_repository)
UsersProject.seed(:id, [ UsersProject.seed(:id, [
{ :id => 1, :project_id => 1, :user_id => 1, :project_access => UsersProject::MASTER }, { :id => 1, :project_id => 1, :user_id => 1, :project_access => UsersProject::MASTER },
{ :id => 2, :project_id => 1, :user_id => 2, :project_access => UsersProject::REPORTER}, { :id => 2, :project_id => 1, :user_id => 2, :project_access => UsersProject::REPORTER},
...@@ -18,4 +20,8 @@ UsersProject.seed(:id, [ ...@@ -18,4 +20,8 @@ UsersProject.seed(:id, [
{ :id => 16, :project_id => 3, :user_id => 5, :project_access => UsersProject::MASTER} { :id => 16, :project_id => 3, :user_id => 5, :project_access => UsersProject::MASTER}
]) ])
UsersProject.set_callback(:save, :after, :update_repository)
puts "\nRebuild gitolite\n".yellow
Project.all.each(&:update_repository)
puts "OK".green
Note.seed(:id, [ Gitlab::Seeder.quiet do
{ :id => 1, :project_id => 1, :author_id => 1, :note => Faker::Lorem.sentence(6) }, (1..300).each do |i|
{ :id => 2, :project_id => 1, :author_id => 2, :note => Faker::Lorem.sentence(6) }, # Random Project
{ :id => 3, :project_id => 1, :author_id => 3, :note => Faker::Lorem.sentence(6) }, project_id = rand(2) + 1
{ :id => 4, :project_id => 1, :author_id => 4, :note => Faker::Lorem.sentence(6) }, project = Project.find(project_id)
{ :id => 5, :project_id => 1, :author_id => 5, :note => Faker::Lorem.sentence(6) },
# Random user
{ :id => 6, :project_id => 2, :author_id => 1, :note => Faker::Lorem.sentence(6) }, user = project.users.sample
{ :id => 7, :project_id => 2, :author_id => 2, :note => Faker::Lorem.sentence(6) }, user_id = user.id
{ :id => 8, :project_id => 2, :author_id => 3, :note => Faker::Lorem.sentence(6) },
{ :id => 9, :project_id => 2, :author_id => 4, :note => Faker::Lorem.sentence(6) }, Note.seed(:id, [{
{ :id => 11, :project_id => 2, :author_id => 5, :note => Faker::Lorem.sentence(6) }, id: i,
project_id: project_id,
{ :id => 12, :project_id => 3, :author_id => 1, :note => Faker::Lorem.sentence(6)}, author_id: user_id,
{ :id => 13, :project_id => 3, :author_id => 2, :note => Faker::Lorem.sentence(6)}, note: Faker::Lorem.sentence(6)
{ :id => 14, :project_id => 3, :author_id => 3, :note => Faker::Lorem.sentence(6)}, }])
{ :id => 15, :project_id => 3, :author_id => 4, :note => Faker::Lorem.sentence(6)}, print('.')
{ :id => 16, :project_id => 3, :author_id => 5, :note => Faker::Lorem.sentence(6)}, end
end
{ :id => 21, :project_id => 1, :author_id => 1, :note => Faker::Lorem.sentence(6) },
{ :id => 22, :project_id => 1, :author_id => 2, :note => Faker::Lorem.sentence(6) },
{ :id => 23, :project_id => 1, :author_id => 3, :note => Faker::Lorem.sentence(6) },
{ :id => 24, :project_id => 1, :author_id => 4, :note => Faker::Lorem.sentence(6) },
{ :id => 25, :project_id => 1, :author_id => 5, :note => Faker::Lorem.sentence(6) },
{ :id => 26, :project_id => 2, :author_id => 1, :note => Faker::Lorem.sentence(6) },
{ :id => 27, :project_id => 2, :author_id => 2, :note => Faker::Lorem.sentence(6) },
{ :id => 28, :project_id => 2, :author_id => 3, :note => Faker::Lorem.sentence(6) },
{ :id => 29, :project_id => 2, :author_id => 4, :note => Faker::Lorem.sentence(6) },
{ :id => 30, :project_id => 2, :author_id => 5, :note => Faker::Lorem.sentence(6) },
{ :id => 32, :project_id => 3, :author_id => 1, :note => Faker::Lorem.sentence(6)},
{ :id => 33, :project_id => 3, :author_id => 2, :note => Faker::Lorem.sentence(6)},
{ :id => 34, :project_id => 3, :author_id => 3, :note => Faker::Lorem.sentence(6)},
{ :id => 35, :project_id => 3, :author_id => 4, :note => Faker::Lorem.sentence(6)},
{ :id => 36, :project_id => 3, :author_id => 5, :note => Faker::Lorem.sentence(6)}
])
(1..300).each do |i| Gitlab::Seeder.quiet do
# Random Project (1..300).each do |i|
project_id = rand(2) + 1 # Random Project
project = Project.find(project_id) project_id = rand(2) + 1
project = Project.find(project_id)
# Random user # Random user
user = project.users.sample user = project.users.sample
user_id = user.id user_id = user.id
IssueObserver.current_user = user IssueObserver.current_user = user
Issue.seed(:id, [{ Issue.seed(:id, [{
id: i, id: i,
project_id: project_id, project_id: project_id,
author_id: user_id, author_id: user_id,
assignee_id: user_id, assignee_id: user_id,
closed: [true, false].sample, closed: [true, false].sample,
milestone: project.milestones.sample, milestone: project.milestones.sample,
title: Faker::Lorem.sentence(6) title: Faker::Lorem.sentence(6)
}]) }])
print('.')
end
end end
(1..300).each do |i| Gitlab::Seeder.quiet do
# Random Project (1..300).each do |i|
project_id = rand(2) + 1 # Random Project
project = Project.find(project_id) project_id = rand(2) + 1
project = Project.find(project_id)
# Random user # Random user
user = project.users.sample user = project.users.sample
user_id = user.id user_id = user.id
MergeRequestObserver.current_user = user MergeRequestObserver.current_user = user
MergeRequest.seed(:id, [{ MergeRequest.seed(:id, [{
id: i, id: i,
source_branch: 'master', source_branch: 'master',
target_branch: 'feature', target_branch: 'feature',
project_id: project_id, project_id: project_id,
author_id: user_id, author_id: user_id,
assignee_id: user_id, assignee_id: user_id,
closed: [true, false].sample, closed: [true, false].sample,
milestone: project.milestones.sample, milestone: project.milestones.sample,
title: Faker::Lorem.sentence(6) title: Faker::Lorem.sentence(6)
}]) }])
print('.')
end
end end
root = Gitlab.config.git_base_path
projects = [
{ path: 'underscore.git', git: 'https://github.com/documentcloud/underscore.git' },
{ path: 'diaspora.git', git: 'https://github.com/diaspora/diaspora.git' },
{ path: 'rails.git', git: 'https://github.com/rails/rails.git' },
]
projects.each do |project|
project_path = File.join(root, project[:path])
next if File.exists?(project_path)
cmds = [
"cd #{root} && sudo -u git -H git clone --bare #{project[:git]}",
"sudo cp ./lib/hooks/post-receive #{project_path}/hooks/post-receive",
"sudo chown git:git #{project_path}/hooks/post-receive"
]
cmds.each do |cmd|
puts cmd.yellow
`#{cmd}`
end
end
puts "OK".green
module Gitlab
class Seeder
def self.quiet
SeedFu.quiet = true
yield
SeedFu.quiet = false
puts "\nOK".green
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment