X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/443080d7b05b5e2cc3310699f5e9d5edde010aca..a1b179fa384d689e6cb78c2b8d863621e7bff152:/db/migrate/20161002153425_add_join_table_between_users_and_diary_entries.rb diff --git a/db/migrate/20161002153425_add_join_table_between_users_and_diary_entries.rb b/db/migrate/20161002153425_add_join_table_between_users_and_diary_entries.rb index cd8414ee7..088b9d28b 100644 --- a/db/migrate/20161002153425_add_join_table_between_users_and_diary_entries.rb +++ b/db/migrate/20161002153425_add_join_table_between_users_and_diary_entries.rb @@ -1,23 +1,19 @@ -class AddJoinTableBetweenUsersAndDiaryEntries < ActiveRecord::Migration - def change - create_table :diary_entries_subscribers, :id => false do |t| - t.column :subscriber_id, :bigint, :null => false +require "migrate" + +class AddJoinTableBetweenUsersAndDiaryEntries < ActiveRecord::Migration[5.0] + def self.up + create_table :diary_entry_subscriptions, :id => false do |t| + t.column :user_id, :bigint, :null => false t.column :diary_entry_id, :bigint, :null => false end - add_foreign_key :diary_entries_subscribers, :users, :column => :subscriber_id, :name => "diary_entries_subscribers_subscriber_id_fkey" - add_foreign_key :diary_entries_subscribers, :diary_entries, :column => :diary_entry_id, :name => "diary_entries_subscribers_changeset_id_fkey" - - add_index :diary_entries_subscribers, [:subscriber_id, :diary_entry_id], :unique => true, :name => "index_diary_subscribers_on_subscriber_id_and_diary_id" - add_index :diary_entries_subscribers, [:diary_entry_id] - end - - def up - DiaryEntry.find_each do |diary_entry| - diary_entry.subscribers << diary_entry.user unless diary_entry.subscribers.exists?(diary_entry.user.id) - end + add_primary_key :diary_entry_subscriptions, [:user_id, :diary_entry_id] + add_index :diary_entry_subscriptions, [:diary_entry_id] + add_foreign_key :diary_entry_subscriptions, :diary_entries, :name => "diary_entry_subscriptions_diary_entry_id_fkey" + add_foreign_key :diary_entry_subscriptions, :users, :name => "diary_entry_subscriptions_user_id_fkey" end - def down + def self.down + drop_table :diary_entry_subscriptions end end