sqlite-web 0.7.2
gitea.db
action_run
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
Update row 7685 in action_run
id
Primary key.
INTEGER NOT NULL
title
fix: Phase 4 三线并行治理 — 类型清零+测试扩展+性能深度优化
TEXT
repo_id
INTEGER
owner_id
INTEGER
workflow_id
e2e-tests.yml
TEXT
index
INTEGER
trigger_user_id
INTEGER
schedule_id
INTEGER
ref
refs/heads/main
TEXT
commit_sha
81e883dfff9283af39b3dd2aa30e25ae2119e8f0
TEXT
is_fork_pull_request
INTEGER
need_approval
INTEGER
approved_by
INTEGER
event
push
TEXT
event_payload
{"ref":"refs/heads/main","before":"db7f39e63151b9c065646855287b8be73e13649b","after":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/db7f39e63151b9c065646855287b8be73e13649b...81e883dfff9283af39b3dd2aa30e25ae2119e8f0","commits":[{"id":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","message":"fix: Phase 4 三线并行治理 — 类型清零+测试扩展+性能深度优化\n\nLine A - 前端类型清零:\n- vue-tsc 错误 417→95 (322个修复, 77%修复率)\n- DataTable/ResponsiveDataTable 泛型约束放宽 (消除~100错误)\n- inventory/products/shipments API 类型补全 (消除~80错误)\n- useListPage 泛型显式化 + queryParams→filters 修正\n- FilterField 类型扩展 + 多处 as unknown as 桥接\n\nLine B - 测试覆盖扩展:\n- 14个无测试模块补充: 11模块14文件166用例全通过\n (channel-analytics/cache-warmup/realtime/workflow-generator/process/search等)\n- Lead-to-Cash E2E: 2文件29用例 (完整链路+状态机流转)\n- 状态机边界测试: 709用例全通过 (6核心实体终态/死状态/非法转换/可达性)\n\nLine C - 性能深度优化:\n- 剩余N+1修复: 5文件11处 (marketing-tools/price-books/cash-flow/knowledge-vector/lead-import)\n- Outbox原子化: tickets 4文件17方法 $transaction+tx (38测试通过)\n (opportunities/quotes/contracts/orders 已正确实现,无需改造)\n\n验证: 后端tsc 0错误 | 709状态机测试通过 | 166新增单测通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/81e883dfff9283af39b3dd2aa30e25ae2119e8f0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T11:45:35+08:00","added":["backend/src/modules/cache-warmup/cache-warmup.service.test.ts","backend/src/modules/channel-analytics/channel-analytics.service.test.ts","backend/src/modules/expense/expense.service.test.ts","backend/src/modules/positions/positions.service.test.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/realtime/enhanced-push.service.test.ts","backend/src/modules/realtime/event-storm-protection.service.test.ts","backend/src/modules/realtime/message-aggregator.service.test.ts","backend/src/modules/realtime/message-template.service.test.ts","backend/src/modules/search/search.service.test.ts","backend/src/modules/settings/settings.service.test.ts","backend/src/modules/workflow-generator/utils/transformer.test.ts","backend/src/modules/workflow-generator/utils/validator.test.ts","backend/src/modules/workflow-generator/workflow-generator.service.test.ts","backend/src/shared/state-machines/__tests__/state-machine-boundaries.test.ts","e2e/tests/business-flows/lead-to-cash.spec.ts","e2e/tests/business-flows/state-machine-flows.spec.ts"],"removed":[],"modified":["backend/src/modules/cash-flow/cash-flow-forecast.service.ts","backend/src/modules/knowledge-capture/knowledge-vector.service.ts","backend/src/modules/leads/lead-import.service.ts","backend/src/modules/marketing-tools/marketing-tools.service.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/tickets/ticket-knowledge.service.ts","backend/src/modules/tickets/ticket-operations.service.ts","backend/src/modules/tickets/ticket-queries.service.ts","backend/src/modules/tickets/ticket.service.ts","frontend/src/api/modules/inventory.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/shipments.ts","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/types/common.ts","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ai-agents/Events.vue","frontend/src/views/ai-agents/Queue.vue","frontend/src/views/ai-copilot/Index.vue","frontend/src/views/assets/Index.vue","frontend/src/views/customers/Form.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/inventory/AlertSettings.vue","frontend/src/views/inventory/CountDetail.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/quotes/Index.vue","frontend/src/views/rma/Index.vue","frontend/src/views/security-settings/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/shipments/Detail.vue","frontend/src/views/shipments/Form.vue","frontend/src/views/shipments/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/system/params/Index.vue","frontend/src/views/tickets/Gantt.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/utm-tracking/Form.vue"]}],"total_commits":0,"head_commit":{"id":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","message":"fix: Phase 4 三线并行治理 — 类型清零+测试扩展+性能深度优化\n\nLine A - 前端类型清零:\n- vue-tsc 错误 417→95 (322个修复, 77%修复率)\n- DataTable/ResponsiveDataTable 泛型约束放宽 (消除~100错误)\n- inventory/products/shipments API 类型补全 (消除~80错误)\n- useListPage 泛型显式化 + queryParams→filters 修正\n- FilterField 类型扩展 + 多处 as unknown as 桥接\n\nLine B - 测试覆盖扩展:\n- 14个无测试模块补充: 11模块14文件166用例全通过\n (channel-analytics/cache-warmup/realtime/workflow-generator/process/search等)\n- Lead-to-Cash E2E: 2文件29用例 (完整链路+状态机流转)\n- 状态机边界测试: 709用例全通过 (6核心实体终态/死状态/非法转换/可达性)\n\nLine C - 性能深度优化:\n- 剩余N+1修复: 5文件11处 (marketing-tools/price-books/cash-flow/knowledge-vector/lead-import)\n- Outbox原子化: tickets 4文件17方法 $transaction+tx (38测试通过)\n (opportunities/quotes/contracts/orders 已正确实现,无需改造)\n\n验证: 后端tsc 0错误 | 709状态机测试通过 | 166新增单测通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/81e883dfff9283af39b3dd2aa30e25ae2119e8f0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T11:45:35+08:00","added":["backend/src/modules/cache-warmup/cache-warmup.service.test.ts","backend/src/modules/channel-analytics/channel-analytics.service.test.ts","backend/src/modules/expense/expense.service.test.ts","backend/src/modules/positions/positions.service.test.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/realtime/enhanced-push.service.test.ts","backend/src/modules/realtime/event-storm-protection.service.test.ts","backend/src/modules/realtime/message-aggregator.service.test.ts","backend/src/modules/realtime/message-template.service.test.ts","backend/src/modules/search/search.service.test.ts","backend/src/modules/settings/settings.service.test.ts","backend/src/modules/workflow-generator/utils/transformer.test.ts","backend/src/modules/workflow-generator/utils/validator.test.ts","backend/src/modules/workflow-generator/workflow-generator.service.test.ts","backend/src/shared/state-machines/__tests__/state-machine-boundaries.test.ts","e2e/tests/business-flows/lead-to-cash.spec.ts","e2e/tests/business-flows/state-machine-flows.spec.ts"],"removed":[],"modified":["backend/src/modules/cash-flow/cash-flow-forecast.service.ts","backend/src/modules/knowledge-capture/knowledge-vector.service.ts","backend/src/modules/leads/lead-import.service.ts","backend/src/modules/marketing-tools/marketing-tools.service.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/tickets/ticket-knowledge.service.ts","backend/src/modules/tickets/ticket-operations.service.ts","backend/src/modules/tickets/ticket-queries.service.ts","backend/src/modules/tickets/ticket.service.ts","frontend/src/api/modules/inventory.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/shipments.ts","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/types/common.ts","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ai-agents/Events.vue","frontend/src/views/ai-agents/Queue.vue","frontend/src/views/ai-copilot/Index.vue","frontend/src/views/assets/Index.vue","frontend/src/views/customers/Form.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/inventory/AlertSettings.vue","frontend/src/views/inventory/CountDetail.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/quotes/Index.vue","frontend/src/views/rma/Index.vue","frontend/src/views/security-settings/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/shipments/Detail.vue","frontend/src/views/shipments/Form.vue","frontend/src/views/shipments/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/system/params/Index.vue","frontend/src/views/tickets/Gantt.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/utm-tracking/Form.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1845515,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T11:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}
TEXT
trigger_event
push
TEXT
status
INTEGER
version
INTEGER (default 0
started
INTEGER
stopped
INTEGER
previous_duration
INTEGER
created
INTEGER
updated
INTEGER
raw_concurrency
TEXT
concurrency_group
TEXT NOT NULL (default ''
concurrency_cancel
INTEGER NOT NULL (default FALSE
Update
Cancel