begin transaction isolation level serializable; do $$ declare migration integer; begin migration := 14; if (SELECT myproject.perform_migration(migration, 'Add "middle name" column')) then RAISE NOTICE 'Performing migration %', migration; ALTER TABLE myproject.users ADD COLUMN middle_name TEXT NULL; else raise notice 'Not performing migration %', migration; end if; end$$; commit;