-- 切换到目标数据库 \c postgres; CREATE OR REPLACE FUNCTION update_name_modified_column() RETURNS TRIGGER AS $$ BEGIN NEW.updated_at = CURRENT_TIMESTAMP; RETURN NEW; END; $$ LANGUAGE plpgsql VOLATILE; DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'name') THEN CREATE TABLE name ( id UUID DEFAULT gen_random_uuid_v7() PRIMARY KEY NOT NULL, country_id UUID NOT NULL, name VARCHAR NOT NULL, deleted BOOLEAN NOT NULL DEFAULT FALSE, created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TRIGGER update_name_updated_at BEFORE UPDATE ON "name" FOR EACH ROW EXECUTE FUNCTION update_name_modified_column(); RAISE NOTICE 'Created name table and trigger'; ELSE RAISE NOTICE 'name table already exists'; END IF; END $$;