diff options
author | rtkay123 <dev@kanjala.com> | 2025-07-27 18:16:41 +0200 |
---|---|---|
committer | rtkay123 <dev@kanjala.com> | 2025-07-27 18:16:41 +0200 |
commit | 3c4d17cf2840c643b8cd111ef775750cc5ae83b3 (patch) | |
tree | 2b7d25b24d94141a6d9255426d4f973cced5d278 /crates/users-service/migrations/20250726161947_profile.sql | |
parent | e26d87f4fa18999c6bcfbcf32cfa85adab11acdd (diff) | |
download | sellershut-3c4d17cf2840c643b8cd111ef775750cc5ae83b3.tar.bz2 sellershut-3c4d17cf2840c643b8cd111ef775750cc5ae83b3.zip |
refactor: profile -> users
Diffstat (limited to 'crates/users-service/migrations/20250726161947_profile.sql')
-rw-r--r-- | crates/users-service/migrations/20250726161947_profile.sql | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/crates/users-service/migrations/20250726161947_profile.sql b/crates/users-service/migrations/20250726161947_profile.sql new file mode 100644 index 0000000..15822c8 --- /dev/null +++ b/crates/users-service/migrations/20250726161947_profile.sql @@ -0,0 +1,32 @@ +create table profile ( + id text primary key, + username varchar(30) not null, + inbox text not null, + outbox text, + local boolean not null, + avatar_url text, + description text, + user_type text not null check ( + user_type IN ('PERSON', 'APPLICATION', 'GROUP', 'ORGANIZATION', 'SERVICE') + ), + created_at timestamptz not null default now(), + updated_at timestamptz not null default now(), + public_key text not null +); + +create unique index unique_username_local + on profile (username) + where local = true; + +create or replace function set_updated_at() +returns trigger as $$ +begin + new.updated_at := now(); + return new; +end; +$$ language plpgsql; + +create trigger trigger_set_updated_at +before update on profile +for each row +execute function set_updated_at(); |