合并数据库迁移文件,解决 --reset-db 数据不一致问题
- 将 000002_add_withdrawal_tables.sql 和 000003_add_encrypted_realname_fields.sql 合并到 000001_init.sql - 在 user_realname 表创建时就包含 encrypted_name 和 encrypted_id_no 字段 - 在初始化脚本中直接创建提现相关表和权限 - 更新 dev.sh 和 deploy-prod.sh 的旧迁移清理逻辑 - 现在 --reset-db 可以一次性创建完整的数据库结构,避免字段缺失问题 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -219,12 +219,12 @@ SQL
|
||||
|
||||
clean_legacy_migrations() {
|
||||
local has_legacy
|
||||
has_legacy="$(mysql_scalar "SELECT COUNT(*) FROM schema_migrations WHERE version IN ('000002_payment_refund_schema', '000003_add_indexes', '000004_add_support_status', '000005_add_announcements', '000006_insert_sample_announcements', '000007_add_announcement_permissions', '000008_fix_announcement_charset');")"
|
||||
has_legacy="$(mysql_scalar "SELECT COUNT(*) FROM schema_migrations WHERE version IN ('000002_payment_refund_schema', '000003_add_indexes', '000004_add_support_status', '000005_add_announcements', '000006_insert_sample_announcements', '000007_add_announcement_permissions', '000008_fix_announcement_charset', '000002_add_withdrawal_tables', '000003_add_encrypted_realname_fields');")"
|
||||
|
||||
if [[ "${has_legacy}" != "0" ]]; then
|
||||
log_warn "检测到旧的迁移记录(000002-000008),正在清理..."
|
||||
log_warn "检测到旧的迁移记录,正在清理..."
|
||||
mysql_exec "$(require_env MYSQL_DATABASE)" -e \
|
||||
"DELETE FROM schema_migrations WHERE version IN ('000002_payment_refund_schema', '000003_add_indexes', '000004_add_support_status', '000005_add_announcements', '000006_insert_sample_announcements', '000007_add_announcement_permissions', '000008_fix_announcement_charset');"
|
||||
"DELETE FROM schema_migrations WHERE version IN ('000002_payment_refund_schema', '000003_add_indexes', '000004_add_support_status', '000005_add_announcements', '000006_insert_sample_announcements', '000007_add_announcement_permissions', '000008_fix_announcement_charset', '000002_add_withdrawal_tables', '000003_add_encrypted_realname_fields');"
|
||||
log_success "已清理旧迁移记录"
|
||||
fi
|
||||
}
|
||||
|
||||
+3
-3
@@ -250,12 +250,12 @@ SQL
|
||||
|
||||
clean_legacy_migrations() {
|
||||
local has_legacy
|
||||
has_legacy="$(mysql_scalar "SELECT COUNT(*) FROM schema_migrations WHERE version IN ('000002_payment_refund_schema', '000003_add_indexes', '000004_add_support_status', '000005_add_announcements', '000006_insert_sample_announcements', '000007_add_announcement_permissions', '000008_fix_announcement_charset');")"
|
||||
has_legacy="$(mysql_scalar "SELECT COUNT(*) FROM schema_migrations WHERE version IN ('000002_payment_refund_schema', '000003_add_indexes', '000004_add_support_status', '000005_add_announcements', '000006_insert_sample_announcements', '000007_add_announcement_permissions', '000008_fix_announcement_charset', '000002_add_withdrawal_tables', '000003_add_encrypted_realname_fields');")"
|
||||
|
||||
if [[ "${has_legacy}" != "0" ]]; then
|
||||
log_warn "检测到旧的迁移记录(000002-000008),正在清理..."
|
||||
log_warn "检测到旧的迁移记录,正在清理..."
|
||||
mysql_hfb --default-character-set=utf8mb4 -e \
|
||||
"DELETE FROM schema_migrations WHERE version IN ('000002_payment_refund_schema', '000003_add_indexes', '000004_add_support_status', '000005_add_announcements', '000006_insert_sample_announcements', '000007_add_announcement_permissions', '000008_fix_announcement_charset');" "${MYSQL_DATABASE}"
|
||||
"DELETE FROM schema_migrations WHERE version IN ('000002_payment_refund_schema', '000003_add_indexes', '000004_add_support_status', '000005_add_announcements', '000006_insert_sample_announcements', '000007_add_announcement_permissions', '000008_fix_announcement_charset', '000002_add_withdrawal_tables', '000003_add_encrypted_realname_fields');" "${MYSQL_DATABASE}"
|
||||
log_success "已清理旧迁移记录"
|
||||
fi
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user