mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Initial release of Discourse
This commit is contained in:
31
db/migrate/20121123054127_make_post_number_distinct.rb
Normal file
31
db/migrate/20121123054127_make_post_number_distinct.rb
Normal file
@@ -0,0 +1,31 @@
|
||||
class MakePostNumberDistinct < ActiveRecord::Migration
|
||||
def up
|
||||
|
||||
Topic.exec_sql('update posts p
|
||||
set post_number = calc
|
||||
from
|
||||
(
|
||||
select
|
||||
id,
|
||||
post_number,
|
||||
topic_id,
|
||||
row_number() over (partition by topic_id order by post_number, created_at) calc
|
||||
from posts
|
||||
where topic_id in (
|
||||
select topic_id from posts
|
||||
group by topic_id, post_number
|
||||
having count(*)>1
|
||||
)
|
||||
|
||||
) as X
|
||||
where calc <> p.post_number and X.id = p.id')
|
||||
|
||||
remove_index :posts, :forum_thread_id_and_post_number
|
||||
add_index :posts, [:topic_id, :post_number], :unique => true
|
||||
end
|
||||
|
||||
def down
|
||||
# don't want to mess with the index ... its annoying
|
||||
raise ActiveRecord::IrreversibleMigration
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user