2019-05-03 06:17:27 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-08-31 12:06:56 +08:00
|
|
|
class CreateForumThreadUser < ActiveRecord::Migration[4.2]
|
2013-02-06 03:16:51 +08:00
|
|
|
def up
|
|
|
|
create_table :forum_thread_users, id: false do |t|
|
|
|
|
t.integer :user_id, null: false
|
|
|
|
t.integer :forum_thread_id, null: false
|
|
|
|
t.boolean :starred, null: false, default: false
|
|
|
|
t.boolean :posted, null: false, default: false
|
|
|
|
t.integer :last_read_post_number, null: false, default: 1
|
2017-08-07 23:48:36 +08:00
|
|
|
t.timestamps null: false
|
2013-02-06 03:16:51 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
execute "DELETE FROM read_posts"
|
2013-02-26 00:42:20 +08:00
|
|
|
|
|
|
|
add_index :forum_thread_users, %i[forum_thread_id user_id], unique: true
|
2013-02-06 03:16:51 +08:00
|
|
|
|
|
|
|
drop_table :stars
|
|
|
|
drop_table :last_read_posts
|
|
|
|
end
|
|
|
|
|
|
|
|
def down
|
2013-02-26 00:42:20 +08:00
|
|
|
drop_table :forum_thread_users
|
2013-02-06 03:16:51 +08:00
|
|
|
|
|
|
|
create_table :stars, id: false do |t|
|
|
|
|
t.integer :parent_id, null: false
|
|
|
|
t.string :parent_type, limit: 50, null: false
|
2013-02-26 00:42:20 +08:00
|
|
|
t.integer :user_id, null: true
|
2017-08-07 23:48:36 +08:00
|
|
|
t.timestamps null: false
|
2013-02-06 03:16:51 +08:00
|
|
|
end
|
|
|
|
|
2013-02-26 00:42:20 +08:00
|
|
|
add_index :stars, %i[parent_id parent_type user_id]
|
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
create_table :last_read_posts do |t|
|
|
|
|
t.integer :user_id, null: false
|
|
|
|
t.integer :forum_thread_id, null: false
|
|
|
|
t.integer :post_number, null: false
|
2017-08-07 23:48:36 +08:00
|
|
|
t.timestamps null: false
|
2013-02-06 03:16:51 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
add_index :last_read_posts, %i[user_id forum_thread_id], unique: true
|
|
|
|
end
|
|
|
|
end
|