Add ability to set a default post expiry (#321)
[akkoma] / priv / repo / migrations / 20191026191910_set_not_null_for_users.exs
1 defmodule Pleroma.Repo.Migrations.SetNotNullForUsers do
2 use Ecto.Migration
3
4 # modify/3 function will require index recreation, so using execute/1 instead
5
6 def up do
7 # irreversible
8 execute("UPDATE users SET follower_count = 0 WHERE follower_count IS NULL")
9
10 execute("ALTER TABLE users
11 ALTER COLUMN local SET NOT NULL,
12 ALTER COLUMN source_data SET NOT NULL,
13 ALTER COLUMN note_count SET NOT NULL,
14 ALTER COLUMN follower_count SET NOT NULL,
15 ALTER COLUMN blocks SET NOT NULL,
16 ALTER COLUMN domain_blocks SET NOT NULL,
17 ALTER COLUMN mutes SET NOT NULL,
18 ALTER COLUMN muted_reblogs SET NOT NULL,
19 ALTER COLUMN muted_notifications SET NOT NULL,
20 ALTER COLUMN subscribers SET NOT NULL,
21 ALTER COLUMN pinned_activities SET NOT NULL,
22 ALTER COLUMN emoji SET NOT NULL,
23 ALTER COLUMN fields SET NOT NULL,
24 ALTER COLUMN raw_fields SET NOT NULL")
25 end
26
27 def down do
28 execute("ALTER TABLE users
29 ALTER COLUMN local DROP NOT NULL,
30 ALTER COLUMN source_data DROP NOT NULL,
31 ALTER COLUMN note_count DROP NOT NULL,
32 ALTER COLUMN follower_count DROP NOT NULL,
33 ALTER COLUMN blocks DROP NOT NULL,
34 ALTER COLUMN domain_blocks DROP NOT NULL,
35 ALTER COLUMN mutes DROP NOT NULL,
36 ALTER COLUMN muted_reblogs DROP NOT NULL,
37 ALTER COLUMN muted_notifications DROP NOT NULL,
38 ALTER COLUMN subscribers DROP NOT NULL,
39 ALTER COLUMN pinned_activities DROP NOT NULL,
40 ALTER COLUMN emoji DROP NOT NULL,
41 ALTER COLUMN fields DROP NOT NULL,
42 ALTER COLUMN raw_fields DROP NOT NULL")
43 end
44 end