fix(core/backend): review_* 列容忍漏带字段插入,根治上传 1364(防复发)

review_status/review_remote_id 加 db_default='';review_error(TEXT,MySQL 不许默认值)改可空。根因:旧代码插入 Asset 不带 review_* 列 → NOT NULL 无默认 → MySQL 1364。迁移已应用到 dev 共享库,补提交迁移文件保持库/代码一致。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
seaislee1209
2026-06-17 21:02:13 +08:00
co-authored by Claude Opus 4.8
parent 4cef215853
commit 6e73fb53dd
2 changed files with 31 additions and 3 deletions
@@ -0,0 +1,28 @@
# 让 review_* 列容忍「旧代码/漏带字段」的插入,防上传 bug(MySQL 1364)复发。
# CharField 用 db_default="";review_error 是 TEXT 列(MySQL 不允许 DB 默认值,1101)→ 改可空。
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("assets", "0003_asset_review"),
]
operations = [
migrations.AlterField(
model_name="asset",
name="review_status",
field=models.CharField(blank=True, db_default="", max_length=16),
),
migrations.AlterField(
model_name="asset",
name="review_remote_id",
field=models.CharField(blank=True, db_default="", max_length=128),
),
migrations.AlterField(
model_name="asset",
name="review_error",
field=models.TextField(blank=True, default="", null=True),
),
]
+3 -3
View File
@@ -41,9 +41,9 @@ class Asset(TeamOwnedModel):
metadata = models.JSONField(default=dict, blank=True) metadata = models.JSONField(default=dict, blank=True)
is_deleted = models.BooleanField(default=False) is_deleted = models.BooleanField(default=False)
# 火山人像素材库审核(仅真人 person 资产):"" = 未送审 / processing 审核中 / active 绿盾通过 / failed 红标(需改提示词重生) # 火山人像素材库审核(仅真人 person 资产):"" = 未送审 / processing 审核中 / active 绿盾通过 / failed 红标(需改提示词重生)
review_status = models.CharField(max_length=16, blank=True) review_status = models.CharField(max_length=16, blank=True, db_default="")
review_remote_id = models.CharField(max_length=128, blank=True) review_remote_id = models.CharField(max_length=128, blank=True, db_default="")
review_error = models.TextField(blank=True) review_error = models.TextField(blank=True, null=True, default="") # TEXT 不能有 DB 默认值(MySQL 1101),改用可空容忍「漏带字段」的插入
def __str__(self) -> str: def __str__(self) -> str:
return self.name return self.name