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
Update row 31253 in action
id
Primary key.
INTEGER NOT NULL
user_id
INTEGER
op_type
INTEGER
act_user_id
INTEGER
repo_id
INTEGER
comment_id
INTEGER
is_deleted
INTEGER NOT NULL (default 0
ref_name
refs/heads/main
TEXT
is_private
INTEGER NOT NULL (default 0
content
{"Commits":[{"Sha1":"3b55095e3aac481fdce7fde36f0dcc24309d5ef4","Message":"feat(modules): public-file 宿主数据迁移与对账工具(DEC-040 实施工作包第 2—3 步的可执行面)\n\n**不连任何库**:源库在工单仓(另一个 Owner 的环境),目标库在平台,两边凭据不该压进一个进程。\n工具做的是「生成幂等 SQL + 逐条对账」,导出与执行由操作者各自用 psql 完成——与仓里\nstack/provision/db.sh 同形(打印 SQL,由人决定在哪个库上执行)。用法与两条导出命令写在脚本头部。\n\n映射守住 DEC-040 的两条硬约束,各有单测:\n- **业务外键不迁**:宿主 Attachment.ticket_id(必填外键 + onDelete Cascade)降级为 owner_type='ticket'\n + owner_ref 两列,平台侧不建外键;\n- **retention_until 原样带过去**:级联删除迁走后,它是「宿主忘了调删除接口」时唯一兜底的东西。\n另外宿主出现未登记的状态值时落 PENDING 并在对账里单列 unmappedStatuses——**不猜**。\n\nSQL 幂等且不倒退:ON CONFLICT (tenant_id, file_id) DO UPDATE 只覆盖宿主侧的事实列,\n**不覆盖 scan_attempts / purged_at / purge_***(重跑不该把平台已推进的清理进度倒回宿主快照那一刻);\n按租户切分并先 set_config,FORCE RLS 下不设租户一行也写不进去。\n\n对账:行数 + sha256 逐条 + 状态分布;balanced 只在「不缺行且摘要逐条一致」时为真,不平退出码 1。\n**不看 storage_ref**——迁移不搬字节,对象仍在同一个桶里。\n\n端到端实跑过(合成 1 行,跑完已删,表回到 0 行):生成的 SQL 在 dev 平台库真表上 INSERT 0 1 / COMMIT,\n导出目标侧对账判平(源 1 / 目标 1、sha256 一致),目标为空时判不平且退出 1。\n模块单测 31 例通过 / 1 跳过(+9);check:modules / check:module-imports / check:stub-surface / check:pins 均 passed。\n\n**没做也不该由我做的**:真实数据迁移、宿主改调平台端点、级联删除语义的宿主侧改造——那些落在工单仓,\n归该仓 Owner;本仓这侧的可执行面到此齐备。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T06:16:30-07:00"}],"HeadCommit":{"Sha1":"3b55095e3aac481fdce7fde36f0dcc24309d5ef4","Message":"feat(modules): public-file 宿主数据迁移与对账工具(DEC-040 实施工作包第 2—3 步的可执行面)\n\n**不连任何库**:源库在工单仓(另一个 Owner 的环境),目标库在平台,两边凭据不该压进一个进程。\n工具做的是「生成幂等 SQL + 逐条对账」,导出与执行由操作者各自用 psql 完成——与仓里\nstack/provision/db.sh 同形(打印 SQL,由人决定在哪个库上执行)。用法与两条导出命令写在脚本头部。\n\n映射守住 DEC-040 的两条硬约束,各有单测:\n- **业务外键不迁**:宿主 Attachment.ticket_id(必填外键 + onDelete Cascade)降级为 owner_type='ticket'\n + owner_ref 两列,平台侧不建外键;\n- **retention_until 原样带过去**:级联删除迁走后,它是「宿主忘了调删除接口」时唯一兜底的东西。\n另外宿主出现未登记的状态值时落 PENDING 并在对账里单列 unmappedStatuses——**不猜**。\n\nSQL 幂等且不倒退:ON CONFLICT (tenant_id, file_id) DO UPDATE 只覆盖宿主侧的事实列,\n**不覆盖 scan_attempts / purged_at / purge_***(重跑不该把平台已推进的清理进度倒回宿主快照那一刻);\n按租户切分并先 set_config,FORCE RLS 下不设租户一行也写不进去。\n\n对账:行数 + sha256 逐条 + 状态分布;balanced 只在「不缺行且摘要逐条一致」时为真,不平退出码 1。\n**不看 storage_ref**——迁移不搬字节,对象仍在同一个桶里。\n\n端到端实跑过(合成 1 行,跑完已删,表回到 0 行):生成的 SQL 在 dev 平台库真表上 INSERT 0 1 / COMMIT,\n导出目标侧对账判平(源 1 / 目标 1、sha256 一致),目标为空时判不平且退出 1。\n模块单测 31 例通过 / 1 跳过(+9);check:modules / check:module-imports / check:stub-surface / check:pins 均 passed。\n\n**没做也不该由我做的**:真实数据迁移、宿主改调平台端点、级联删除语义的宿主侧改造——那些落在工单仓,\n归该仓 Owner;本仓这侧的可执行面到此齐备。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T06:16:30-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/978aaeeb46174baca37960b898e7fd086cec6696...3b55095e3aac481fdce7fde36f0dcc24309d5ef4","Len":1}
TEXT
created_unix
INTEGER
Update
Cancel