From 6d1f44492ac5f1b478cd6c17c992d9e01904c63f Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sun, 6 Sep 2026 17:15:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(deploy):=20m0012=E2=80=94=E2=80=94llm=5Fap?= =?UTF-8?q?i=5Fprofile=E5=8A=A0method=E5=88=97;llm=5Fusage.status=E5=BD=92?= =?UTF-8?q?=E4=B8=80SUCCEEDED/FAILED=E6=9E=9A=E4=B8=BE;accounting=5Fstatus?= =?UTF-8?q?=E6=94=B9=E5=8F=AF=E7=A9=BA=E9=9D=9ESUCCEEDED=E7=BD=AENULL;?= =?UTF-8?q?=E5=AD=97=E5=85=B8=E4=BA=94=E6=9E=9A=E4=B8=BE=E8=BF=81=E7=A7=BB?= =?UTF-8?q?(=E6=97=A7ok/failed=E7=A7=BBlegacy)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._llm_profile_method_usage_status_enum.json | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 deploy/migrations/m0012_llm_profile_method_usage_status_enum.json diff --git a/deploy/migrations/m0012_llm_profile_method_usage_status_enum.json b/deploy/migrations/m0012_llm_profile_method_usage_status_enum.json new file mode 100644 index 0000000..cd7a907 --- /dev/null +++ b/deploy/migrations/m0012_llm_profile_method_usage_status_enum.json @@ -0,0 +1,73 @@ +{ + "id": "m0012", + "title": "llm_api_profile加method独立列(2026-09-06用户定夺:HTTP方法不塞request_template);llm_usage.status统一枚举(SUCCEEDED/FAILED/PENDING/RUNNING,存量ok→SUCCEEDED/failed→FAILED);accounting_status改可空,非SUCCEEDED行置NULL(2026-09-05用户定夺:status=SUCCEEDED才有记账意义)", + "backup_tables": ["llm_api_profile", "llm_usage"], + "up": [ + { + "op": "sql", + "sql": "ALTER TABLE llm_api_profile ADD COLUMN method VARCHAR(10) NOT NULL DEFAULT 'POST' COMMENT 'HTTP方法(GET/POST,独立列不再塞request_template)' AFTER path" + }, + { + "op": "sql", + "sql": "UPDATE llm_api_profile SET method=UPPER(JSON_UNQUOTE(JSON_EXTRACT(request_template,'$.method'))) WHERE JSON_VALID(request_template) AND JSON_EXTRACT(request_template,'$.method') IS NOT NULL AND JSON_UNQUOTE(JSON_EXTRACT(request_template,'$.method')) IN ('GET','POST')" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_usage MODIFY COLUMN status VARCHAR(20) NOT NULL DEFAULT 'SUCCEEDED' COMMENT '调用状态(统一枚举:SUCCEEDED成功/FAILED失败/PENDING等待/RUNNING运行;其他如recharge)'" + }, + { + "op": "sql", + "sql": "UPDATE llm_usage SET status='SUCCEEDED' WHERE status='ok'" + }, + { + "op": "sql", + "sql": "UPDATE llm_usage SET status='FAILED' WHERE status='failed'" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_usage MODIFY COLUMN accounting_status VARCHAR(20) NULL DEFAULT NULL COMMENT '记账状态(三态:created待记账/accounted记账成功/failed记账失败;仅status=SUCCEEDED的行有意义,其余NULL)'" + }, + { + "op": "sql", + "sql": "UPDATE llm_usage SET accounting_status=NULL WHERE status<>'SUCCEEDED'" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO appcodes_kv (id,parentid,k,v) VALUES ('llumg_SUCCEEDED','llm_usage_status','SUCCEEDED','成功'),('llumg_FAILED','llm_usage_status','FAILED','失败'),('llumg_PENDING','llm_usage_status','PENDING','等待'),('llumg_RUNNING','llm_usage_status','RUNNING','运行中'),('llumg_recharge','llm_usage_status','recharge','充值')" + }, + { + "op": "sql", + "sql": "UPDATE appcodes_kv SET parentid='llm_usage_status_legacy' WHERE parentid='llm_usage_status' AND k IN ('ok','failed')" + } + ], + "down": [ + { + "op": "sql", + "sql": "UPDATE appcodes_kv SET parentid='llm_usage_status' WHERE parentid='llm_usage_status_legacy'" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_api_profile DROP COLUMN method" + }, + { + "op": "sql", + "sql": "UPDATE llm_usage SET status='ok' WHERE status='SUCCEEDED'" + }, + { + "op": "sql", + "sql": "UPDATE llm_usage SET status='failed' WHERE status='FAILED'" + }, + { + "op": "sql", + "sql": "UPDATE llm_usage SET accounting_status='created' WHERE accounting_status IS NULL" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_usage MODIFY COLUMN accounting_status VARCHAR(20) NOT NULL DEFAULT 'created' COMMENT '记账状态(三态:created已创建待记账/accounted记账成功/failed记账失败)'" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_usage MODIFY COLUMN status VARCHAR(20) NOT NULL DEFAULT 'ok' COMMENT '状态(ok/failed/recharge)'" + } + ] +}