28 lines
804 B
Elixir
28 lines
804 B
Elixir
# Pleroma: A lightweight social networking server
|
|
# Copyright © 2017-2023 Pleroma Authors <https://pleroma.social/>
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
defmodule Pleroma.Repo.Migrations.ChangeChatIdToFlake do
|
|
use Ecto.Migration
|
|
|
|
def up do
|
|
execute("""
|
|
alter table chats
|
|
drop constraint chats_pkey cascade,
|
|
alter column id drop default,
|
|
alter column id set data type uuid using cast( lpad( to_hex(id), 32, '0') as uuid),
|
|
add primary key (id)
|
|
""")
|
|
|
|
execute("""
|
|
alter table chat_message_references
|
|
alter column chat_id set data type uuid using cast( lpad( to_hex(chat_id), 32, '0') as uuid),
|
|
add constraint chat_message_references_chat_id_fkey foreign key (chat_id) references chats(id) on delete cascade
|
|
""")
|
|
end
|
|
|
|
def down do
|
|
:ok
|
|
end
|
|
end
|