correct rake test:prepare so it seeds the db correctly

move category creation into seeds as well, so db can be seeded from structure.sql
This commit is contained in:
Sam 2013-10-25 10:31:33 +11:00
parent 4929c5db71
commit 270fde7dbd
3 changed files with 26 additions and 2 deletions

20
db/fixtures/categories.rb Normal file
View File

@ -0,0 +1,20 @@
SiteSetting.refresh!
if SiteSetting.uncategorized_category_id == -1
puts "Seeding uncategorized category!"
result = Category.exec_sql "SELECT 1 FROM categories WHERE name = 'uncategorized'"
name = 'uncategorized'
if result.count > 0
name << SecureRandom.hex
end
result = Category.exec_sql "INSERT INTO categories
(name,color,slug,description,text_color, user_id, created_at, updated_at, position)
VALUES ('#{name}', 'AB9364', 'uncategorized', '', 'FFFFFF', -1, now(), now(), 1 )
RETURNING id
"
category_id = result[0]["id"].to_i
Category.exec_sql "INSERT INTO site_settings(name, data_type, value, created_at, updated_at)
VALUES ('uncategorized_category_id', 3, #{category_id}, now(), now())"
end

View File

@ -2,14 +2,14 @@ class AddUncategorizedCategory < ActiveRecord::Migration
def up def up
result = execute "SELECT 1 FROM categories WHERE name = 'uncategorized'" result = execute "SELECT 1 FROM categories WHERE name = 'uncategorized'"
name = 'uncategorized'
if result.count > 0 if result.count > 0
name << SecureRandom.hex name << SecureRandom.hex
end end
result = execute "INSERT INTO categories result = execute "INSERT INTO categories
(name,color,slug,description,text_color, user_id, created_at, updated_at, position) (name,color,slug,description,text_color, user_id, created_at, updated_at, position)
VALUES ('uncategorized', 'AB9364', 'uncategorized', '', 'FFFFFF', -1, now(), now(), 1 ) VALUES ('#{name}', 'AB9364', 'uncategorized', '', 'FFFFFF', -1, now(), now(), 1 )
RETURNING id RETURNING id
" "
category_id = result[0]["id"].to_i category_id = result[0]["id"].to_i

View File

@ -2,3 +2,7 @@
task 'db:migrate' => 'environment' do task 'db:migrate' => 'environment' do
SeedFu.seed SeedFu.seed
end end
task 'test:prepare' => 'environment' do
SeedFu.seed
end