# app/models/

SQLAlchemy ORM 模型占位，Alembic 001-004 按顺序建：

## Alembic 001 — 从banana搬3张（改造）
- user.py          # users（删credits字段）
- login_record.py  # login_records
- user_preference.py # user_preferences（UI设置偏好）

## Alembic 002 — 多租户基础（全新）
- workspace.py           # workspaces
- workspace_member.py    # workspace_members（user+workspace+角色）
- user_api_key.py        # user_api_keys（Fernet加密，UNIQUE user_id+workspace_id+provider）

## Alembic 003 — 业务主体7张（全新）
- product.py             # products（含text_angles/custom_prompt/source/workspace_id）
- benchmark_note.py      # benchmark_notes
- generation_task.py     # generation_tasks（状态机+审核字段平铺）
- text_candidate.py      # text_candidates（source=ai/import双轨）
- image_candidate.py     # image_candidates
- delivery_package.py    # delivery_packages
- banned_word.py         # banned_words（三级level）

## Alembic 004 — 飞轮（全新）
- preference_event.py    # preference_events（含data_ownership字段）

## 铁律
- 所有业务表有 workspace_id 字段
- generation_tasks 审核字段平铺：review_status/reviewer_id/reviewed_at/reject_reason/approved_at/archived_at
- preference_events.signal_weight 初始默认值：选文案+3/选图+3/通过+5/打回-3/重生成-1
