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 1687 in action_run
id
Primary key.
INTEGER NOT NULL
title
feat: 全栈功能完善 + 开发环境免登录配置
TEXT
repo_id
INTEGER
owner_id
INTEGER
workflow_id
ci.yml
TEXT
index
INTEGER
trigger_user_id
INTEGER
schedule_id
INTEGER
ref
refs/heads/main
TEXT
commit_sha
6bcd0f0b608c7161cdf8589d556a56257ee178bd
TEXT
is_fork_pull_request
INTEGER
need_approval
INTEGER
approved_by
INTEGER
event
push
TEXT
event_payload
{"ref":"refs/heads/main","before":"1300bf9430ace637fba9931b50090670d6c1e585","after":"6bcd0f0b608c7161cdf8589d556a56257ee178bd","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-ops/compare/1300bf9430ace637fba9931b50090670d6c1e585...6bcd0f0b608c7161cdf8589d556a56257ee178bd","commits":[{"id":"6bcd0f0b608c7161cdf8589d556a56257ee178bd","message":"feat: 全栈功能完善 + 开发环境免登录配置\n\n- 新增 AuthController 登录/登出/me 接口(token driver)\n- 新增 WorkspaceController、WorkOrderController、HygieneController\n- 新增卫生维护模块全栈实现(区域/模板/任务/检查项)\n- 新增工单模块(创建/更新/列表)\n- 新增角色权限中间件 CheckVenueRole + Role/UserVenueRole 模型\n- 新增 DevAutoAuth 中间件,开发环境自动注入 admin 用户\n- 新增前端免登录配置:VITE_AUTH_DISABLED + localStorage token 注入\n- 新增 WebSocket/Reverb noop 存根,开发环境静默连接失败\n- 新增数据库迁移:工单/卫生/角色/workflow 字段/API token\n- 新增 HygieneSeeder、AuthTest、HygieneTest 等测试\n- 新增 GitHub Actions CI 工作流\n- 新增 DeviceDetectorService + 检测器模式重构\n- 前端新增 Login/Hygiene/WorkOrder/Workspace 视图\n- 前端新增 authStore、composables、e2e 测试框架\n","url":"https://gitea.g-hi.com/luoanwu/juhi-ops/commit/6bcd0f0b608c7161cdf8589d556a56257ee178bd","author":{"name":"luoanwu","email":"luoanwu@g-hi.com","username":""},"committer":{"name":"luoanwu","email":"luoanwu@g-hi.com","username":""},"verification":null,"timestamp":"2026-03-01T12:36:50+08:00","added":[".env.example",".github/workflows/ci.yml","backend/app/Events/DeviceStatusUpdated.php","backend/app/Events/TaskStatusUpdated.php","backend/app/Http/Controllers/AuthController.php","backend/app/Http/Controllers/HygieneController.php","backend/app/Http/Controllers/WorkOrderController.php","backend/app/Http/Controllers/WorkspaceController.php","backend/app/Http/Middleware/CheckVenueRole.php","backend/app/Http/Middleware/DevAutoAuth.php","backend/app/Http/Requests/CreateHygieneTemplateRequest.php","backend/app/Http/Requests/CreateWorkOrderRequest.php","backend/app/Models/HygieneArea.php","backend/app/Models/HygieneTask.php","backend/app/Models/HygieneTaskItem.php","backend/app/Models/HygieneTemplate.php","backend/app/Models/HygieneTemplateItem.php","backend/app/Models/Role.php","backend/app/Models/UserVenueRole.php","backend/app/Models/WorkOrder.php","backend/app/Services/Detectors/ChessDeviceTrait.php","backend/app/Services/Detectors/KtvDeviceTrait.php","backend/app/Services/Detectors/PoolDeviceTrait.php","backend/app/Services/Detectors/SharedDeviceTrait.php","backend/app/Services/DeviceDetectorService.php","backend/app/Services/HygieneGeneratorService.php","backend/config/broadcasting.php","backend/database/migrations/2024_01_01_000007_add_metrics_to_room_device_statuses.php","backend/database/migrations/2024_01_01_000008_add_photo_url_to_room_device_statuses.php","backend/database/migrations/2024_01_01_000009_create_work_orders_table.php","backend/database/migrations/2024_01_01_000010_add_time_fields_to_work_orders.php","backend/database/migrations/2024_01_01_000011_create_hygiene_areas_table.php","backend/database/migrations/2024_01_01_000012_create_hygiene_templates_table.php","backend/database/migrations/2024_01_01_000013_create_hygiene_template_items_table.php","backend/database/migrations/2024_01_01_000014_create_hygiene_tasks_table.php","backend/database/migrations/2024_01_01_000015_create_hygiene_task_items_table.php","backend/database/migrations/2026_02_28_074745_create_roles_table_and_user_roles.php","backend/database/migrations/2026_02_28_074806_add_workflow_fields_to_tasks_tables.php","backend/database/migrations/2026_02_28_161347_add_personnel_fields_to_hygiene_tables.php","backend/database/migrations/2026_02_28_170637_make_room_id_nullable_on_work_orders_table.php","backend/database/migrations/2026_02_28_171030_add_photo_url_to_task_instance_items_table.php","backend/database/migrations/2026_03_01_000001_add_api_token_to_users_table.php","backend/database/seeders/HygieneSeeder.php","backend/ops_db","backend/routes/channels.php","backend/tests/Feature/AuthTest.php","backend/tests/Feature/HygieneTest.php","backend/tests/Feature/MonitorTest.php","backend/tests/Feature/NotificationTest.php","backend/tests/Feature/WorkspaceTest.php","frontend/e2e/auth.spec.ts","frontend/playwright.config.ts","frontend/src/api/auth.ts","frontend/src/api/echo.ts","frontend/src/api/hygiene.ts","frontend/src/api/index.ts","frontend/src/api/workspace.ts","frontend/src/components/HygieneCreateModal.vue","frontend/src/components/HygieneTaskSheet.vue","frontend/src/components/TemplateDetailSheet.vue","frontend/src/components/WorkOrderDetailSheet.vue","frontend/src/components/WorkOrderSheet.vue","frontend/src/composables/useHygiene.ts","frontend/src/stores/authStore.ts","frontend/src/views/Hygiene/Index.vue","frontend/src/views/Login/Index.vue","frontend/src/views/WorkOrder/Index.vue","frontend/src/views/Workspace/CommandCenter.vue","frontend/src/views/Workspace/Index.vue","frontend/test-results/.last-run.json","pencil-new.pen","scripts/gen-dev-cert.sh"],"removed":["backend/app/Services/TaskInstanceGeneratorService.php"],"modified":[".gitignore","CLAUDE.md","backend/.env.example","backend/app/Http/Controllers/BaseController.php","backend/app/Http/Controllers/InspectController.php","backend/app/Http/Controllers/MonitorController.php","backend/app/Http/Controllers/NotificationController.php","backend/app/Http/Controllers/TaskController.php","backend/app/Models/RoomDeviceStatus.php","backend/app/Models/TaskInstance.php","backend/app/Models/TaskInstanceItem.php","backend/app/Models/TaskTemplate.php","backend/app/Models/User.php","backend/app/Services/DeviceScanService.php","backend/app/Services/TaskGeneratorService.php","backend/bootstrap/app.php","backend/config/auth.php","backend/config/cors.php","backend/database/seeders/DatabaseSeeder.php","backend/database/seeders/DemoDataSeeder.php","backend/database/seeders/VenueSeeder.php","backend/phpunit.xml","backend/routes/api.php","backend/routes/console.php","docker-compose.yml","docker/nginx/nginx.conf","docker/php/Dockerfile","frontend/index.html","frontend/package.json","frontend/pnpm-lock.yaml","frontend/src/App.vue","frontend/src/api/inspect.ts","frontend/src/api/monitor.ts","frontend/src/api/notification.ts","frontend/src/api/request.ts","frontend/src/components/NotificationSheet.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/stores/notificationStore.ts","frontend/src/types/enums.ts","frontend/src/types/index.ts","frontend/src/types/models.ts","frontend/src/views/Inspect/Index.vue","frontend/src/views/Monitor/Index.vue","frontend/vite.config.ts"]}],"total_commits":0,"head_commit":{"id":"6bcd0f0b608c7161cdf8589d556a56257ee178bd","message":"feat: 全栈功能完善 + 开发环境免登录配置\n\n- 新增 AuthController 登录/登出/me 接口(token driver)\n- 新增 WorkspaceController、WorkOrderController、HygieneController\n- 新增卫生维护模块全栈实现(区域/模板/任务/检查项)\n- 新增工单模块(创建/更新/列表)\n- 新增角色权限中间件 CheckVenueRole + Role/UserVenueRole 模型\n- 新增 DevAutoAuth 中间件,开发环境自动注入 admin 用户\n- 新增前端免登录配置:VITE_AUTH_DISABLED + localStorage token 注入\n- 新增 WebSocket/Reverb noop 存根,开发环境静默连接失败\n- 新增数据库迁移:工单/卫生/角色/workflow 字段/API token\n- 新增 HygieneSeeder、AuthTest、HygieneTest 等测试\n- 新增 GitHub Actions CI 工作流\n- 新增 DeviceDetectorService + 检测器模式重构\n- 前端新增 Login/Hygiene/WorkOrder/Workspace 视图\n- 前端新增 authStore、composables、e2e 测试框架\n","url":"https://gitea.g-hi.com/luoanwu/juhi-ops/commit/6bcd0f0b608c7161cdf8589d556a56257ee178bd","author":{"name":"luoanwu","email":"luoanwu@g-hi.com","username":""},"committer":{"name":"luoanwu","email":"luoanwu@g-hi.com","username":""},"verification":null,"timestamp":"2026-03-01T12:36:50+08:00","added":[".env.example",".github/workflows/ci.yml","backend/app/Events/DeviceStatusUpdated.php","backend/app/Events/TaskStatusUpdated.php","backend/app/Http/Controllers/AuthController.php","backend/app/Http/Controllers/HygieneController.php","backend/app/Http/Controllers/WorkOrderController.php","backend/app/Http/Controllers/WorkspaceController.php","backend/app/Http/Middleware/CheckVenueRole.php","backend/app/Http/Middleware/DevAutoAuth.php","backend/app/Http/Requests/CreateHygieneTemplateRequest.php","backend/app/Http/Requests/CreateWorkOrderRequest.php","backend/app/Models/HygieneArea.php","backend/app/Models/HygieneTask.php","backend/app/Models/HygieneTaskItem.php","backend/app/Models/HygieneTemplate.php","backend/app/Models/HygieneTemplateItem.php","backend/app/Models/Role.php","backend/app/Models/UserVenueRole.php","backend/app/Models/WorkOrder.php","backend/app/Services/Detectors/ChessDeviceTrait.php","backend/app/Services/Detectors/KtvDeviceTrait.php","backend/app/Services/Detectors/PoolDeviceTrait.php","backend/app/Services/Detectors/SharedDeviceTrait.php","backend/app/Services/DeviceDetectorService.php","backend/app/Services/HygieneGeneratorService.php","backend/config/broadcasting.php","backend/database/migrations/2024_01_01_000007_add_metrics_to_room_device_statuses.php","backend/database/migrations/2024_01_01_000008_add_photo_url_to_room_device_statuses.php","backend/database/migrations/2024_01_01_000009_create_work_orders_table.php","backend/database/migrations/2024_01_01_000010_add_time_fields_to_work_orders.php","backend/database/migrations/2024_01_01_000011_create_hygiene_areas_table.php","backend/database/migrations/2024_01_01_000012_create_hygiene_templates_table.php","backend/database/migrations/2024_01_01_000013_create_hygiene_template_items_table.php","backend/database/migrations/2024_01_01_000014_create_hygiene_tasks_table.php","backend/database/migrations/2024_01_01_000015_create_hygiene_task_items_table.php","backend/database/migrations/2026_02_28_074745_create_roles_table_and_user_roles.php","backend/database/migrations/2026_02_28_074806_add_workflow_fields_to_tasks_tables.php","backend/database/migrations/2026_02_28_161347_add_personnel_fields_to_hygiene_tables.php","backend/database/migrations/2026_02_28_170637_make_room_id_nullable_on_work_orders_table.php","backend/database/migrations/2026_02_28_171030_add_photo_url_to_task_instance_items_table.php","backend/database/migrations/2026_03_01_000001_add_api_token_to_users_table.php","backend/database/seeders/HygieneSeeder.php","backend/ops_db","backend/routes/channels.php","backend/tests/Feature/AuthTest.php","backend/tests/Feature/HygieneTest.php","backend/tests/Feature/MonitorTest.php","backend/tests/Feature/NotificationTest.php","backend/tests/Feature/WorkspaceTest.php","frontend/e2e/auth.spec.ts","frontend/playwright.config.ts","frontend/src/api/auth.ts","frontend/src/api/echo.ts","frontend/src/api/hygiene.ts","frontend/src/api/index.ts","frontend/src/api/workspace.ts","frontend/src/components/HygieneCreateModal.vue","frontend/src/components/HygieneTaskSheet.vue","frontend/src/components/TemplateDetailSheet.vue","frontend/src/components/WorkOrderDetailSheet.vue","frontend/src/components/WorkOrderSheet.vue","frontend/src/composables/useHygiene.ts","frontend/src/stores/authStore.ts","frontend/src/views/Hygiene/Index.vue","frontend/src/views/Login/Index.vue","frontend/src/views/WorkOrder/Index.vue","frontend/src/views/Workspace/CommandCenter.vue","frontend/src/views/Workspace/Index.vue","frontend/test-results/.last-run.json","pencil-new.pen","scripts/gen-dev-cert.sh"],"removed":["backend/app/Services/TaskInstanceGeneratorService.php"],"modified":[".gitignore","CLAUDE.md","backend/.env.example","backend/app/Http/Controllers/BaseController.php","backend/app/Http/Controllers/InspectController.php","backend/app/Http/Controllers/MonitorController.php","backend/app/Http/Controllers/NotificationController.php","backend/app/Http/Controllers/TaskController.php","backend/app/Models/RoomDeviceStatus.php","backend/app/Models/TaskInstance.php","backend/app/Models/TaskInstanceItem.php","backend/app/Models/TaskTemplate.php","backend/app/Models/User.php","backend/app/Services/DeviceScanService.php","backend/app/Services/TaskGeneratorService.php","backend/bootstrap/app.php","backend/config/auth.php","backend/config/cors.php","backend/database/seeders/DatabaseSeeder.php","backend/database/seeders/DemoDataSeeder.php","backend/database/seeders/VenueSeeder.php","backend/phpunit.xml","backend/routes/api.php","backend/routes/console.php","docker-compose.yml","docker/nginx/nginx.conf","docker/php/Dockerfile","frontend/index.html","frontend/package.json","frontend/pnpm-lock.yaml","frontend/src/App.vue","frontend/src/api/inspect.ts","frontend/src/api/monitor.ts","frontend/src/api/notification.ts","frontend/src/api/request.ts","frontend/src/components/NotificationSheet.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/stores/notificationStore.ts","frontend/src/types/enums.ts","frontend/src/types/index.ts","frontend/src/types/models.ts","frontend/src/views/Inspect/Index.vue","frontend/src/views/Monitor/Index.vue","frontend/vite.config.ts"]},"repository":{"id":14,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/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-ops","full_name":"luoanwu/juhi-ops","description":"巨嗨场馆运维中心 - KTV/棋牌/台球娱乐场馆移动端运维管理系统","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":275,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-ops/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-ops","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-ops","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-ops.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-ops.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-28T12:11:37+08:00","updated_at":"2026-02-28T13:00:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
NULL
TEXT
concurrency_group
TEXT NOT NULL (default ''
concurrency_cancel
INTEGER NOT NULL (default FALSE
Update
Cancel