Adds a pixiv: metatag to quickly find posts by Pixiv ID. Adds source:pixiv/* searches to allow left-anchored source searches for Pixiv sources. Added relevant indexes to make these queries efficient.
16 lines
588 B
Ruby
16 lines
588 B
Ruby
class AddIndexPixivOnPosts < ActiveRecord::Migration
|
|
def up
|
|
execute "set statement_timeout = 0"
|
|
execute "CREATE INDEX index_posts_on_pixiv_suffix ON posts USING btree
|
|
((substring(source, 'pixiv.net/img.*/([^/]*/[^/]*)$')) text_pattern_ops);"
|
|
execute "CREATE INDEX index_posts_on_pixiv_id ON posts USING btree
|
|
((substring(source, 'pixiv.net/img.*/([0-9]+)[^/]*$')::integer));"
|
|
end
|
|
|
|
def down
|
|
execute "set statement_timeout = 0"
|
|
execute "DROP INDEX index_posts_on_pixiv_suffix;"
|
|
execute "DROP INDEX index_posts_on_pixiv_id;"
|
|
end
|
|
end
|