Merge pull request 'Manually define PATH for Arch Linux users in systemd unit' (...
[akkoma] / priv / repo / migrations / 20170501133231_add_id_contraints_to_activities_and_objects_part_two.exs
index 12eea136923b23924d34a5548e1fb34fc3b9fd78..ecc7c23cc3a70fe2a80cfab4cfe00464a3074b37 100644 (file)
@@ -1,10 +1,18 @@
 defmodule Pleroma.Repo.Migrations.AddIdContraintsToActivitiesAndObjectsPartTwo do
   use Ecto.Migration
 
-  def change do
-    drop index(:objects, ["(data->>\"id\")"], name: :objects_unique_apid_index)
-    drop index(:activities, ["(data->>\"id\")"], name: :activities_unique_apid_index)
-    create unique_index(:objects, ["(data->>'id')"], name: :objects_unique_apid_index)
-    create unique_index(:activities, ["(data->>'id')"], name: :activities_unique_apid_index)
+  def up do
+    drop_if_exists(index(:objects, ["(data->>\"id\")"], name: :objects_unique_apid_index))
+    drop_if_exists(index(:activities, ["(data->>\"id\")"], name: :activities_unique_apid_index))
+
+    create_if_not_exists(
+      unique_index(:objects, ["(data->>'id')"], name: :objects_unique_apid_index)
+    )
+
+    create_if_not_exists(
+      unique_index(:activities, ["(data->>'id')"], name: :activities_unique_apid_index)
+    )
   end
+
+  def down, do: :ok
 end