create table if not exists repo_lock ( repo_uuid uuid not null, path varchar(255) not null, lock_type varchar(255) not null, locked_by uuid not null, acquired_at timestamp with time zone not null, released_at timestamp with time zone, primary key (repo_uuid, path) );