about summary refs log tree commit diff
path: root/db
diff options
context:
space:
mode:
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20180812123222_change_relays_enabled.rb19
-rw-r--r--db/schema.rb5
2 files changed, 21 insertions, 3 deletions
diff --git a/db/migrate/20180812123222_change_relays_enabled.rb b/db/migrate/20180812123222_change_relays_enabled.rb
new file mode 100644
index 000000000..c4fd8179b
--- /dev/null
+++ b/db/migrate/20180812123222_change_relays_enabled.rb
@@ -0,0 +1,19 @@
+class ChangeRelaysEnabled < ActiveRecord::Migration[5.2]
+  def up
+    # The relays table is supposed to be very small,
+    # single-digit number of rows, so this should be fine
+    safety_assured do
+      add_column :relays, :state, :integer, default: 0, null: false
+
+      # At the time of this migration, no relays reject anyone, so if
+      # there are enabled ones, they are accepted
+      execute 'UPDATE relays SET state = 2 WHERE enabled = true'
+      remove_column :relays, :enabled
+    end
+  end
+
+  def down
+    remove_column :relays, :state
+    add_column :relays, :enabled, :boolean, default: false, null: false
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 92b6f93cf..952582255 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 2018_08_08_175627) do
+ActiveRecord::Schema.define(version: 2018_08_12_123222) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "plpgsql"
@@ -393,11 +393,10 @@ ActiveRecord::Schema.define(version: 2018_08_08_175627) do
 
   create_table "relays", force: :cascade do |t|
     t.string "inbox_url", default: "", null: false
-    t.boolean "enabled", default: false, null: false
     t.string "follow_activity_id"
     t.datetime "created_at", null: false
     t.datetime "updated_at", null: false
-    t.index ["enabled"], name: "index_relays_on_enabled"
+    t.integer "state", default: 0, null: false
   end
 
   create_table "report_notes", force: :cascade do |t|