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