CREATE TABLE IF NOT EXISTS files ( id serial, file_id varchar(255) not null unique, file_name varchar(255) not null, valid_till timestamp not null, kind varchar(255) not null, primary key (id) ); ALTER TABLE files ADD COLUMN IF NOT EXISTS delete_on_download boolean; ALTER TABLE files ALTER COLUMN delete_on_download set not null; ALTER TABLE files ALTER COLUMN valid_till TYPE timestamptz; ALTER TABLE files ADD COLUMN IF NOT EXISTS content_type varchar(255) not null GENERATED ALWAYS AS (CASE WHEN kind = 'text' THEN 'text/plain' ELSE 'application/octet-stream' END) STORED; ALTER TABLE files ALTER COLUMN content_type DROP EXPRESSION IF EXISTS; ALTER TABLE files DROP COLUMN IF EXISTS kind;