From 5b557a418abbf0a50edec79f04607d2e011c84f4 Mon Sep 17 00:00:00 2001 From: albert Date: Fri, 11 May 2012 15:06:40 -0400 Subject: [PATCH] fixed edge case for pool creation --- app/models/post.rb | 2 +- app/models/tag_implication.rb | 2 +- script/upgrade_schema.rb | 1 + script/upgrade_schema.sql | 4 ++-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/models/post.rb b/app/models/post.rb index e41bacf1f..cd6c4959b 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -440,7 +440,7 @@ class Post < ActiveRecord::Base if pool.nil? pool = Pool.create(:name => $1, :description => "This pool was automatically generated") end - add_pool!(pool) + add_pool!(pool) if pool when /^rating:([qse])/i self.rating = $1.downcase diff --git a/app/models/tag_implication.rb b/app/models/tag_implication.rb index f9f6f13fe..3f0d7ae3c 100644 --- a/app/models/tag_implication.rb +++ b/app/models/tag_implication.rb @@ -28,7 +28,7 @@ class TagImplication < ActiveRecord::Base all.concat(children) children = self.class.where(["antecedent_name IN (?)", children]).all.map(&:consequent_name) end - end.sort + end.sort.uniq end end diff --git a/script/upgrade_schema.rb b/script/upgrade_schema.rb index 7c81f0e2b..b76583209 100755 --- a/script/upgrade_schema.rb +++ b/script/upgrade_schema.rb @@ -6,6 +6,7 @@ PoolVersion.find_each do |version| version.update_column(:post_ids, version.post_ids.scan(/\d+/).in_groups_of(2).map {|x| x.first}.join(" ")) end +TagImplication.destroy_all("antecedent_name = consequent_name") TagImplication.find_each do |impl| impl.update_descendant_names! end diff --git a/script/upgrade_schema.sql b/script/upgrade_schema.sql index c967b02d9..cc76bbfe9 100755 --- a/script/upgrade_schema.sql +++ b/script/upgrade_schema.sql @@ -3179,14 +3179,14 @@ CREATE TABLE user_password_reset_nonces ( created_at timestamp without time zone, updated_at timestamp without time zone ); -ALTER TABLE public.user_password_reset_nonces OWNER TO ayi; +ALTER TABLE public.user_password_reset_nonces OWNER TO danbooru; CREATE SEQUENCE user_password_reset_nonces_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -ALTER TABLE public.user_password_reset_nonces_id_seq OWNER TO ayi; +ALTER TABLE public.user_password_reset_nonces_id_seq OWNER TO danbooru; ALTER SEQUENCE user_password_reset_nonces_id_seq OWNED BY user_password_reset_nonces.id; ALTER TABLE user_password_reset_nonces ALTER COLUMN id SET DEFAULT nextval('user_password_reset_nonces_id_seq'::regclass); ALTER TABLE ONLY user_password_reset_nonces