Skip to content

Commit 051f01d

Browse files
authored
fix: execute migration to set index_bridging to disabled (#1379)
1 parent 9e1c881 commit 051f01d

File tree

8 files changed

+37
-5
lines changed

8 files changed

+37
-5
lines changed

lib/realtime/tenants/migrations.ex

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ defmodule Realtime.Tenants.Migrations do
7575
RealtimeSubscriptionLogged,
7676
RemoveUnusedPublications,
7777
RealtimeSendSetsTopicConfig,
78-
SubscriptionIndexBridgingDisabled
78+
SubscriptionIndexBridgingDisabled,
79+
RunSubscriptionIndexBridgingDisabled
7980
}
8081

8182
@migrations [
@@ -139,7 +140,8 @@ defmodule Realtime.Tenants.Migrations do
139140
{20_250_110_162_412, RealtimeSubscriptionLogged},
140141
{20_250_123_174_212, RemoveUnusedPublications},
141142
{20_250_128_220_012, RealtimeSendSetsTopicConfig},
142-
{20_250_506_224_012, SubscriptionIndexBridgingDisabled}
143+
{20_250_506_224_012, SubscriptionIndexBridgingDisabled},
144+
{20_250_523_164_012, RunSubscriptionIndexBridgingDisabled}
143145
]
144146

145147
defstruct [:tenant_external_id, :settings]
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
defmodule Realtime.Tenants.Migrations.RunSubscriptionIndexBridgingDisabled do
2+
@moduledoc false
3+
use Ecto.Migration
4+
5+
def change do
6+
execute("""
7+
alter table realtime.subscription reset (index_bridging);
8+
""")
9+
end
10+
end

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ defmodule Realtime.MixProject do
44
def project do
55
[
66
app: :realtime,
7-
version: "2.55.6",
7+
version: "2.55.7",
88
elixir: "~> 1.17.3",
99
elixirc_paths: elixirc_paths(Mix.env()),
1010
start_permanent: Mix.env() == :prod,

test/realtime/messages_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@ defmodule Realtime.MessagesTest do
4242
assert :ok = Messages.delete_old_messages(conn)
4343
{:ok, current} = Repo.all(conn, from(m in Message), Message)
4444

45-
assert current == to_keep
45+
assert Enum.sort(current) == Enum.sort(to_keep)
4646
end
4747
end

test/realtime/repo_test.exs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ defmodule Realtime.RepoTest do
1818
message_1 = message_fixture(tenant)
1919
message_2 = message_fixture(tenant)
2020

21-
assert {:ok, [^message_1, ^message_2] = res} = Repo.all(db_conn, Message, Message)
21+
assert {:ok, res} = Repo.all(db_conn, Message, Message)
22+
assert Enum.sort([message_1, message_2]) == Enum.sort(res)
2223
assert Enum.all?(res, &(Ecto.get_meta(&1, :state) == :loaded))
2324
end
2425

test/support/containers.ex

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ defmodule Containers do
88
use GenServer
99

1010
@image "supabase/postgres:15.8.1.040"
11+
# Pull image if not available
12+
def pull do
13+
case System.cmd("docker", ["image", "inspect", @image]) do
14+
{_, 0} ->
15+
:ok
16+
17+
_ ->
18+
IO.puts("Pulling image #{@image}. This might take a while...")
19+
{_, 0} = System.cmd("docker", ["pull", @image])
20+
end
21+
end
1122

1223
def start_container(), do: GenServer.call(__MODULE__, :start_container, 10_000)
1324
def port(), do: GenServer.call(__MODULE__, :port, 10_000)

test/support/containers/container.ex

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,18 @@ defmodule Containers.Container do
66
end
77

88
def port(pid), do: GenServer.call(pid, :port, 15_000)
9+
def name(pid), do: GenServer.call(pid, :name, 15_000)
910

1011
@impl true
1112
def handle_call(:port, _from, state) do
1213
{:reply, state[:port], state}
1314
end
1415

16+
@impl true
17+
def handle_call(:name, _from, state) do
18+
{:reply, state[:name], state}
19+
end
20+
1521
@impl true
1622
def init(_args) do
1723
{:ok, %{}, {:continue, :start_container}}

test/test_helper.exs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ ExUnit.start(exclude: [:failing], max_cases: 2, capture_log: true)
66

77
max_cases = ExUnit.configuration()[:max_cases]
88

9+
Containers.pull()
10+
911
if System.get_env("REUSE_CONTAINERS") != "true" do
1012
Containers.stop_containers()
1113
Containers.stop_container("dev_tenant")

0 commit comments

Comments
 (0)