--- /dev/null
+defmodule Pleroma.Repo.Migrations.AddUserFrontendProfiles do
+ use Ecto.Migration
+
+ def up do
+ create_if_not_exists table("user_frontend_setting_profiles", primary_key: false) do
+ add(:user_id, references(:users, type: :uuid, on_delete: :delete_all), primary_key: true)
+ add(:frontend_name, :string, primary_key: true)
+ add(:profile_name, :string, primary_key: true)
+ add(:version, :integer)
+ add(:settings, :map)
+ timestamps()
+ end
+
+ create_if_not_exists(index(:user_frontend_setting_profiles, [:user_id, :frontend_name]))
+
+ create_if_not_exists(
+ unique_index(:user_frontend_setting_profiles, [:user_id, :frontend_name, :profile_name])
+ )
+ end
+
+ def down do
+ drop_if_exists(table("user_frontend_setting_profiles"))
+ drop_if_exists(index(:user_frontend_setting_profiles, [:user_id, :frontend_name]))
+
+ drop_if_exists(
+ unique_index(:user_frontend_setting_profiles, [:user_id, :frontend_name, :profile_name])
+ )
+ end
+end