feat: add data backup/import, goal step ordering, and PostgreSQL migration
- Add GET /api/backup/export and POST /api/backup/import endpoints for full data backup
- Add drag-and-drop reorder for goal steps with PUT /api/goals/{id}/steps/reorder
- Auto-assign sort_order on step creation (preserves creation order)
- Fix duplicate milestone rendering in goal detail page
- Add category management button in goal dialog
- Migrate database default from SQLite to PostgreSQL
- Fix router guard redirect loop for logged-in users on setup/login pages
- Fix ALTER TABLE ADD COLUMN crash on callable defaults (uuid.uuid4)
- Add auth status rate limiter and token version caching
- Update CLAUDE.md to reflect current architecture
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -84,7 +84,11 @@ def init_db():
|
||||
elif col.default is not None:
|
||||
default_val = col.default.arg
|
||||
ddl = f"ALTER TABLE {table_name} ADD COLUMN {col_name} {col_type_str}"
|
||||
if isinstance(default_val, bool):
|
||||
if callable(default_val):
|
||||
# callable 类型的默认值(如 uuid.uuid4)无法写入 SQL DEFAULT,
|
||||
# 后续的 UUID 回填逻辑会处理已有记录
|
||||
pass
|
||||
elif isinstance(default_val, bool):
|
||||
ddl += f" DEFAULT {'TRUE' if default_val else 'FALSE'}"
|
||||
elif isinstance(default_val, str):
|
||||
ddl += f" DEFAULT '{default_val}'"
|
||||
|
||||
Reference in New Issue
Block a user