discourse/db/migrate/20191217035630_populate_topic_id_on_bookmarks.rb
Martin Brennan e1e74abd4f
FEATURE: Improving bookmarks part 2 -- Topic Bookmarking (#8954)
### UI Changes

If `SiteSetting.enable_bookmarks_with_reminders` is enabled:

* Clicking "Bookmark" on a topic will create a new Bookmark record instead of a post + user action
* Clicking "Clear Bookmarks" on a topic will delete all the new Bookmark records on a topic
* The topic bookmark buttons control the post bookmark flags correctly and vice-versa
Disabled selecting the "reminder type" for bookmarks in the UI because the backend functionality is not done yet (of sending users notifications etc.)

### Other Changes

* Added delete bookmark route (but no UI yet)
* Added a rake task to sync the old PostAction bookmarks to the new Bookmark table, which can be run as many times as we want for a site (it will not create duplicates).
2020-02-13 16:26:02 +10:00

14 lines
324 B
Ruby

# frozen_string_literal: true
class PopulateTopicIdOnBookmarks < ActiveRecord::Migration[6.0]
def up
Bookmark.where(topic_id: nil).includes(:post).find_each do |bookmark|
bookmark.update_column(:topic_id, bookmark.post.topic_id)
end
end
def down
raise ActiveRecord::IrreversibleMigration
end
end