I have a simple table with a status column:
create type status as enum ( 'approved', 'pending_approval', 'rejected' ); create table document ( id serial primary key, uuid uuid unique not null default uuid_generate_v4(), title text not null, content text, status status not null, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), deleted_at timestamptz );
This is the beginning of a small workflow-esque application I'm doing. Statuses, however, can be defined by the users of the application. What are the cons of using ALTER TYPE instead of creating a new table and using JOIN? I really don't want to add a JOIN to my queries just because of a status field.