From f378f104042955ec807103e4283110b06ba191d7 Mon Sep 17 00:00:00 2001
From: Claire <claire.github-309c@sitedethib.com>
Date: Wed, 7 Jun 2023 01:53:50 +0200
Subject: [PATCH] Fix compatibility of recent migration with PostgreSQL 10
 (#25324)

---
 config/initializers/strong_migrations.rb           |  1 +
 .../20230605085710_add_exclusive_to_lists.rb       | 14 ++++++++++++--
 db/schema.rb                                       |  2 +-
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/config/initializers/strong_migrations.rb b/config/initializers/strong_migrations.rb
index 917d23b91..10b3805db 100644
--- a/config/initializers/strong_migrations.rb
+++ b/config/initializers/strong_migrations.rb
@@ -1,3 +1,4 @@
 # frozen_string_literal: true
 
 StrongMigrations.start_after = 2017_09_24_022025
+StrongMigrations.target_version = 10
diff --git a/db/migrate/20230605085710_add_exclusive_to_lists.rb b/db/migrate/20230605085710_add_exclusive_to_lists.rb
index cc21a3e31..315c9d487 100644
--- a/db/migrate/20230605085710_add_exclusive_to_lists.rb
+++ b/db/migrate/20230605085710_add_exclusive_to_lists.rb
@@ -1,7 +1,17 @@
 # frozen_string_literal: true
 
+require Rails.root.join('lib', 'mastodon', 'migration_helpers')
+
 class AddExclusiveToLists < ActiveRecord::Migration[6.1]
-  def change
-    add_column :lists, :exclusive, :boolean, null: false, default: false
+  include Mastodon::MigrationHelpers
+
+  disable_ddl_transaction!
+
+  def up
+    safety_assured { add_column_with_default :lists, :exclusive, :boolean, default: false, allow_null: false }
+  end
+
+  def down
+    remove_column :lists, :exclusive
   end
 end
diff --git a/db/schema.rb b/db/schema.rb
index fd708b44a..28d8d8390 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -567,7 +567,7 @@ ActiveRecord::Schema.define(version: 2023_06_05_085710) do
     t.datetime "created_at", null: false
     t.datetime "updated_at", null: false
     t.integer "replies_policy", default: 0, null: false
-    t.boolean "exclusive", default: false
+    t.boolean "exclusive", default: false, null: false
     t.index ["account_id"], name: "index_lists_on_account_id"
   end