From 6e73fb53dda40698dae0bc0a7e6d2967b8263c7d Mon Sep 17 00:00:00 2001 From: seaislee1209 Date: Wed, 17 Jun 2026 21:01:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(core/backend):=20review=5F*=20=E5=88=97?= =?UTF-8?q?=E5=AE=B9=E5=BF=8D=E6=BC=8F=E5=B8=A6=E5=AD=97=E6=AE=B5=E6=8F=92?= =?UTF-8?q?=E5=85=A5,=E6=A0=B9=E6=B2=BB=E4=B8=8A=E4=BC=A0=201364(=E9=98=B2?= =?UTF-8?q?=E5=A4=8D=E5=8F=91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- .../0004_asset_review_db_defaults.py | 28 +++++++++++++++++++ core/backend/apps/assets/models.py | 6 ++-- 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 core/backend/apps/assets/migrations/0004_asset_review_db_defaults.py diff --git a/core/backend/apps/assets/migrations/0004_asset_review_db_defaults.py b/core/backend/apps/assets/migrations/0004_asset_review_db_defaults.py new file mode 100644 index 0000000..65946c1 --- /dev/null +++ b/core/backend/apps/assets/migrations/0004_asset_review_db_defaults.py @@ -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), + ), + ] diff --git a/core/backend/apps/assets/models.py b/core/backend/apps/assets/models.py index 0a83294..3004495 100644 --- a/core/backend/apps/assets/models.py +++ b/core/backend/apps/assets/models.py @@ -41,9 +41,9 @@ class Asset(TeamOwnedModel): metadata = models.JSONField(default=dict, blank=True) is_deleted = models.BooleanField(default=False) # 火山人像素材库审核(仅真人 person 资产):"" = 未送审 / processing 审核中 / active 绿盾通过 / failed 红标(需改提示词重生) - review_status = models.CharField(max_length=16, blank=True) - review_remote_id = models.CharField(max_length=128, blank=True) - review_error = models.TextField(blank=True) + review_status = models.CharField(max_length=16, blank=True, db_default="") + review_remote_id = models.CharField(max_length=128, blank=True, db_default="") + review_error = models.TextField(blank=True, null=True, default="") # TEXT 不能有 DB 默认值(MySQL 1101),改用可空容忍「漏带字段」的插入 def __str__(self) -> str: return self.name