sqlite-web 0.7.2
gitea.db
action
Create
Query
access
access_token
action
action_artifact
action_run
action_run_index
action_run_job
action_runner
action_runner_token
action_schedule
action_schedule_spec
action_task
action_task_output
action_task_step
action_tasks_version
action_variable
app_state
attachment
auth_token
badge
branch
collaboration
comment
commit_status
commit_status_index
commit_status_summary
commit_sync_log
commit_sync_status
dbfs_data
dbfs_meta
deploy_key
email_address
email_hash
external_login_user
follow
gpg_key
gpg_key_import
hook_task
issue
issue_assignees
issue_content_history
issue_dependency
issue_index
issue_label
issue_pin
issue_user
issue_watch
label
language_stat
lfs_lock
lfs_meta_object
login_source
milestone
mirror
notice
notification
oauth2_application
oauth2_authorization_code
oauth2_grant
org_user
package
package_blob
package_blob_upload
package_cleanup_rule
package_file
package_property
package_version
project
project_board
project_issue
protected_branch
protected_tag
public_key
pull_auto_merge
pull_request
push_mirror
reaction
release
renamed_branch
repo_archiver
repo_hidden_file
repo_indexer_status
repo_license
repo_redirect
repo_topic
repo_transfer
repo_unit
repository
review
review_state
secret
session
sqlite_sequence
star
stopwatch
system_setting
task
team
team_invite
team_repo
team_unit
team_user
topic
tracked_time
two_factor
upload
user
user_badge
user_blocking
user_open_id
user_redirect
user_setting
version
watch
webauthn_credential
webhook
Toggle helper tables
Structure
Content
Query
Insert
Drop
Import
Export
Delete row 15970 from action
id
15970
user_id
5
op_type
5
act_user_id
5
repo_id
6
comment_id
0
is_deleted
0
ref_name
refs/heads/react-migration
is_private
0
content
{"Commits":[{"Sha1":"c4a1b8ebc
{"Commits":[{"Sha1":"c4a1b8ebcc54d4a222aa030b845818ad365b950d","Message":"fix(sn/contracts): bind 接回守卫实现 + 六模块死字段契约清理批\n\n一、serial-numbers bind 接回 bindSerialNumber(bug 家族第 5 处收口)\n语义核实修正:bindSerialNumber 服务函数的 where 条件 status:'in_stock' 是\n乐观锁前置,data 实写 status:'shipped'——即「绑定即随单发货」,与 controller\n语义一致,非此前疑似的语义漂移,无需产品决策。差别是 controller 裸写版本\n缺订单/明细/客户存在性校验、缺 in_stock+未绑定乐观锁、缺 sn_bound 事件,\n且守卫实现是零调用死代码。修复:\n- controller.bind 接回 bindSerialNumber;路由挂 validate(bindSerialNumberSchema)\n (orderId/customerId 必填)。\n- 前端 api bind 签名对齐后端契约(orderId/customerId 必填 + orderItemId/\n shipmentId 可选),删除后端无写链的 contractId/assetId 死字段。\n- live 四向验证:缺 orderId→400、假订单→404 订单不存在、真绑定→200 且\n DB 直证 shipped+bound_order_id+bound_customer_id 落库、重复绑定→conflict\n 乐观锁拦截;验证后经 /return 恢复(顺带复验 restockReturned 清绑定生效)。\n- 新增 controller 回归锁定测试(断言走 bindSerialNumber 且裸 update 未被调)。\n\n二、契约清理批(六项,Zod 收下但永不落库/错位的死契约)\n① inventory 仓库:create/update schema 删 contactName/contactPhone/notes\n (warehouses 无列、mapper 显式忽略、前端不收集),mapper 忽略条目一并清。\n② opportunities:create body 删 phone/email/province/city/address/industry/\n contact_name/contact_phone 八个死字段(service 自动建客户只写 name、无\n customer_contacts 写链、前端走客户选择器不发送);update 派生自动净化;\n IM intent-analyzer 调用点同步清 undefined 占位死参数。live:带 phone 创建\n 被 strict 400 拒绝(Unrecognized key)。\n③ opportunities list startDate/endDate 接线(此前被 allowedFilterFields\n 白名单静默忽略):落创建时间区间。live:全量 317 → 未来起点 0/过去终点 0。\n④ targets update 删 milestones(sales_targets 无标量列、update 无子表写链,\n 透传会触发 Prisma Unknown argument;create 子表写链保留);前端\n toUpdateWire/UpdateTargetRequest 同步删。\n⑤ rma:diagnose/complete 两处 Zod + docs 删 service 从不读取的 eventInsights;\n 前端 diagnose 签名对齐后端唯一持久化键 diagnosisResult(旧\n diagnosis/faultType/severity 与后端完全错位、会被静默剥离)。\n⑥ livestream createSchedule 删冗余必填死字段 scheduledStartAt/scheduledEndAt\n (service 只读 scheduledStart/scheduledEnd,旧契约强迫调用方双发同值且第二\n 份被丢);前端读 DTO 类型同步对齐 scheduledStart/scheduledEnd(旧 *At 键\n DTO 从不返回,恒 undefined)。live:不带 *At 创建过 Zod 进入业务校验。\n\n验证:前后端 type-check 全绿;opportunities/targets/rma/livestream/inventory/\nserial-numbers 测试 192/192 通过;formrules-zod errors 0、field-payload 0/0、\nenum-consistency 无新增。\n\nBacklog 登记:rma complete 前端发送 resolution/refundAmount/returnShipping*\n与后端 completeRmaSchema(returnedItem) 错位(Detail 仅发硬编码文案,无用户\n数据损失),待定接线或清理方向。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-03T03:06:13-07:00"}],"HeadCommit":{"Sha1":"c4a1b8ebcc54d4a222aa030b845818ad365b950d","Message":"fix(sn/contracts): bind 接回守卫实现 + 六模块死字段契约清理批\n\n一、serial-numbers bind 接回 bindSerialNumber(bug 家族第 5 处收口)\n语义核实修正:bindSerialNumber 服务函数的 where 条件 status:'in_stock' 是\n乐观锁前置,data 实写 status:'shipped'——即「绑定即随单发货」,与 controller\n语义一致,非此前疑似的语义漂移,无需产品决策。差别是 controller 裸写版本\n缺订单/明细/客户存在性校验、缺 in_stock+未绑定乐观锁、缺 sn_bound 事件,\n且守卫实现是零调用死代码。修复:\n- controller.bind 接回 bindSerialNumber;路由挂 validate(bindSerialNumberSchema)\n (orderId/customerId 必填)。\n- 前端 api bind 签名对齐后端契约(orderId/customerId 必填 + orderItemId/\n shipmentId 可选),删除后端无写链的 contractId/assetId 死字段。\n- live 四向验证:缺 orderId→400、假订单→404 订单不存在、真绑定→200 且\n DB 直证 shipped+bound_order_id+bound_customer_id 落库、重复绑定→conflict\n 乐观锁拦截;验证后经 /return 恢复(顺带复验 restockReturned 清绑定生效)。\n- 新增 controller 回归锁定测试(断言走 bindSerialNumber 且裸 update 未被调)。\n\n二、契约清理批(六项,Zod 收下但永不落库/错位的死契约)\n① inventory 仓库:create/update schema 删 contactName/contactPhone/notes\n (warehouses 无列、mapper 显式忽略、前端不收集),mapper 忽略条目一并清。\n② opportunities:create body 删 phone/email/province/city/address/industry/\n contact_name/contact_phone 八个死字段(service 自动建客户只写 name、无\n customer_contacts 写链、前端走客户选择器不发送);update 派生自动净化;\n IM intent-analyzer 调用点同步清 undefined 占位死参数。live:带 phone 创建\n 被 strict 400 拒绝(Unrecognized key)。\n③ opportunities list startDate/endDate 接线(此前被 allowedFilterFields\n 白名单静默忽略):落创建时间区间。live:全量 317 → 未来起点 0/过去终点 0。\n④ targets update 删 milestones(sales_targets 无标量列、update 无子表写链,\n 透传会触发 Prisma Unknown argument;create 子表写链保留);前端\n toUpdateWire/UpdateTargetRequest 同步删。\n⑤ rma:diagnose/complete 两处 Zod + docs 删 service 从不读取的 eventInsights;\n 前端 diagnose 签名对齐后端唯一持久化键 diagnosisResult(旧\n diagnosis/faultType/severity 与后端完全错位、会被静默剥离)。\n⑥ livestream createSchedule 删冗余必填死字段 scheduledStartAt/scheduledEndAt\n (service 只读 scheduledStart/scheduledEnd,旧契约强迫调用方双发同值且第二\n 份被丢);前端读 DTO 类型同步对齐 scheduledStart/scheduledEnd(旧 *At 键\n DTO 从不返回,恒 undefined)。live:不带 *At 创建过 Zod 进入业务校验。\n\n验证:前后端 type-check 全绿;opportunities/targets/rma/livestream/inventory/\nserial-numbers 测试 192/192 通过;formrules-zod errors 0、field-payload 0/0、\nenum-consistency 无新增。\n\nBacklog 登记:rma complete 前端发送 resolution/refundAmount/returnShipping*\n与后端 completeRmaSchema(returnedItem) 错位(Detail 仅发硬编码文案,无用户\n数据损失),待定接线或清理方向。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-03T03:06:13-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/da76fc5e9fcbc3f937fa2bee7743931f9b60e4db...c4a1b8ebcc54d4a222aa030b845818ad365b950d","Len":1}
...
created_unix
1783073192
Delete
Cancel