| 1 | -- SPDX-License-Identifier: AGPL-3.0-or-later |
| 2 | -- |
| 3 | -- Public profile fields. All optional. avatar_object_key references the |
| 4 | -- avatars/<owner>/<size>.<ext> prefix on object storage; NULL means |
| 5 | -- "render the deterministic identicon." |
| 6 | |
| 7 | -- +goose Up |
| 8 | ALTER TABLE users |
| 9 | ADD COLUMN bio text NOT NULL DEFAULT '', |
| 10 | ADD COLUMN location text NOT NULL DEFAULT '', |
| 11 | ADD COLUMN website text NOT NULL DEFAULT '', |
| 12 | ADD COLUMN company text NOT NULL DEFAULT '', |
| 13 | ADD COLUMN pronouns text NOT NULL DEFAULT '', |
| 14 | ADD COLUMN avatar_object_key text; |
| 15 | |
| 16 | ALTER TABLE users |
| 17 | ADD CONSTRAINT users_bio_length CHECK (char_length(bio) <= 500), |
| 18 | ADD CONSTRAINT users_location_length CHECK (char_length(location) <= 80), |
| 19 | ADD CONSTRAINT users_website_length CHECK (char_length(website) <= 200), |
| 20 | ADD CONSTRAINT users_company_length CHECK (char_length(company) <= 80), |
| 21 | ADD CONSTRAINT users_pronouns_length CHECK (char_length(pronouns) <= 40); |
| 22 | |
| 23 | -- +goose Down |
| 24 | ALTER TABLE users |
| 25 | DROP COLUMN IF EXISTS bio, |
| 26 | DROP COLUMN IF EXISTS location, |
| 27 | DROP COLUMN IF EXISTS website, |
| 28 | DROP COLUMN IF EXISTS company, |
| 29 | DROP COLUMN IF EXISTS pronouns, |
| 30 | DROP COLUMN IF EXISTS avatar_object_key; |
| 31 |