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