-- 切换到目标数据库 \c postgres; CREATE OR REPLACE FUNCTION update_account_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 = 'user_account') THEN CREATE TABLE user_account ( id UUID DEFAULT gen_random_uuid_v7() PRIMARY KEY NOT NULL, user_id UUID NOT NULL, account VARCHAR NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TRIGGER update_user_account_updated_at BEFORE UPDATE ON "user_account" FOR EACH ROW EXECUTE FUNCTION update_account_modified_column(); RAISE NOTICE 'Created user_account table and trigger'; ELSE RAISE NOTICE 'user_account table already exists'; END IF; END $$;