Skip to content

Commit fe40e15

Browse files
authored
Drop one_team_per_user constraint from team_memberships (#5004)
* Drop `one_team_per_user` constraint from `team_memberships` * Add extra safeguard UPDATE in the migration, just in case
1 parent 339dd89 commit fe40e15

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
defmodule Plausible.Repo.Migrations.DropOldOneTeamPerUserConstraint do
2+
use Ecto.Migration
3+
4+
def up do
5+
alter table(:team_memberships) do
6+
modify :is_autocreated, :boolean, null: false, default: false
7+
end
8+
9+
drop unique_index(:team_memberships, [:user_id],
10+
where: "role != 'guest'",
11+
name: :one_team_per_user
12+
)
13+
14+
# Might be redundant but redoing it anyway, just to be safe
15+
execute """
16+
UPDATE team_memberships SET is_autocreated = true WHERE role = 'owner'
17+
"""
18+
end
19+
20+
def down do
21+
create unique_index(:team_memberships, [:user_id],
22+
where: "role != 'guest'",
23+
name: :one_team_per_user
24+
)
25+
26+
alter table(:team_memberships) do
27+
modify :is_autocreated, :boolean, null: false, default: true
28+
end
29+
end
30+
end

0 commit comments

Comments
 (0)