]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/20161002153425_add_join_table_between_users_and_diary_entries.rb
Store the report category.
[rails.git] / db / migrate / 20161002153425_add_join_table_between_users_and_diary_entries.rb
index ad642f96cac977e829b9203009e4f702f1d52147..088b9d28bb3b718c8e46ebc4666331a5d95207b0 100644 (file)
@@ -1,20 +1,19 @@
-class AddJoinTableBetweenUsersAndDiaryEntries < ActiveRecord::Migration
-  def change
+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_index :diary_entry_subscriptions, [:user_id, :diary_entry_id], :unique => true, :name => "index_diary_subscriptions_on_user_id_and_diary_entry_id"
+    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 up
-    DiaryEntry.find_each do |diary_entry|
-      diary_entry.subscriptions.create(:user => diary_entry.user) unless diary_entry.subscribers.exists?(@user.id)
-    end
-  end
-
-  def down
+  def self.down
+    drop_table :diary_entry_subscriptions
   end
 end