1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Repo.Migrations.SetNotNullForUsers do
8 # modify/3 function will require index recreation, so using execute/1 instead
12 execute("UPDATE users SET follower_count = 0 WHERE follower_count IS NULL")
14 execute("ALTER TABLE users
15 ALTER COLUMN local SET NOT NULL,
16 ALTER COLUMN source_data SET NOT NULL,
17 ALTER COLUMN note_count SET NOT NULL,
18 ALTER COLUMN follower_count SET NOT NULL,
19 ALTER COLUMN blocks SET NOT NULL,
20 ALTER COLUMN domain_blocks SET NOT NULL,
21 ALTER COLUMN mutes SET NOT NULL,
22 ALTER COLUMN muted_reblogs SET NOT NULL,
23 ALTER COLUMN muted_notifications SET NOT NULL,
24 ALTER COLUMN subscribers SET NOT NULL,
25 ALTER COLUMN pinned_activities SET NOT NULL,
26 ALTER COLUMN emoji SET NOT NULL,
27 ALTER COLUMN fields SET NOT NULL,
28 ALTER COLUMN raw_fields SET NOT NULL")
32 execute("ALTER TABLE users
33 ALTER COLUMN local DROP NOT NULL,
34 ALTER COLUMN source_data DROP NOT NULL,
35 ALTER COLUMN note_count DROP NOT NULL,
36 ALTER COLUMN follower_count DROP NOT NULL,
37 ALTER COLUMN blocks DROP NOT NULL,
38 ALTER COLUMN domain_blocks DROP NOT NULL,
39 ALTER COLUMN mutes DROP NOT NULL,
40 ALTER COLUMN muted_reblogs DROP NOT NULL,
41 ALTER COLUMN muted_notifications DROP NOT NULL,
42 ALTER COLUMN subscribers DROP NOT NULL,
43 ALTER COLUMN pinned_activities DROP NOT NULL,
44 ALTER COLUMN emoji DROP NOT NULL,
45 ALTER COLUMN fields DROP NOT NULL,
46 ALTER COLUMN raw_fields DROP NOT NULL")