posts: redefine source column to be non-NULL (fixes #3090).
This commit is contained in:
@@ -175,7 +175,7 @@ class PostQueryBuilder
|
||||
# URLs unchanged. This is to ease database load for Pixiv source searches.
|
||||
if q[:source]
|
||||
if q[:source] == "none%"
|
||||
relation = relation.where("(posts.source = '' OR posts.source IS NULL)")
|
||||
relation = relation.where("posts.source = ''")
|
||||
elsif q[:source] == "http%"
|
||||
relation = relation.where("(lower(posts.source) like ?)", "http%")
|
||||
elsif q[:source] =~ /^(?:https?:\/\/)?%\.?pixiv(?:\.net(?:\/img)?)?(?:%\/img\/|%\/|(?=%$))(.+)$/i
|
||||
@@ -189,7 +189,7 @@ class PostQueryBuilder
|
||||
|
||||
if q[:source_neg]
|
||||
if q[:source_neg] == "none%"
|
||||
relation = relation.where("(posts.source != '' AND posts.source IS NOT NULL)")
|
||||
relation = relation.where("posts.source != ''")
|
||||
elsif q[:source_neg] == "http%"
|
||||
relation = relation.where("(lower(posts.source) not like ?)", "http%")
|
||||
elsif q[:source_neg] =~ /^(?:https?:\/\/)?%\.?pixiv(?:\.net(?:\/img)?)?(?:%\/img\/|%\/|(?=%$))(.+)$/i
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
class ChangeSourceToNonNullOnPosts < ActiveRecord::Migration
|
||||
def up
|
||||
Post.without_timeout do
|
||||
change_column_null(:posts, :source, false, "")
|
||||
change_column_default(:posts, :source, "")
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
Post.without_timeout do
|
||||
change_column_null(:posts, :source, true)
|
||||
change_column_default(:posts, :source, nil)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -2773,7 +2773,7 @@ CREATE TABLE posts (
|
||||
up_score integer DEFAULT 0 NOT NULL,
|
||||
down_score integer DEFAULT 0 NOT NULL,
|
||||
score integer DEFAULT 0 NOT NULL,
|
||||
source character varying,
|
||||
source character varying DEFAULT ''::character varying NOT NULL,
|
||||
md5 character varying NOT NULL,
|
||||
rating character(1) DEFAULT 'q'::bpchar NOT NULL,
|
||||
is_note_locked boolean DEFAULT false NOT NULL,
|
||||
@@ -7547,3 +7547,5 @@ INSERT INTO schema_migrations (version) VALUES ('20170515235205');
|
||||
|
||||
INSERT INTO schema_migrations (version) VALUES ('20170519204506');
|
||||
|
||||
INSERT INTO schema_migrations (version) VALUES ('20170526183928');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user