# 迁移文件命名规范

## 命名格式

```
YYYYMMDDHHMMSS_description.sql
```

示例：
- `20260123100000_create_users_table.sql`
- `20260123110000_add_phone_to_users.sql`
- `20260123120000_create_index_users_email.sql`

## 命名规则

1. 时间戳精确到秒，确保唯一性
2. description 使用小写字母和下划线
3. 描述清晰表明变更内容
4. 常用动词：create, add, drop, modify, rename, create_index

## 文件结构

```sql
-- Migration: 20260123100000_create_users_table
-- Author: developer_name
-- Description: 创建用户表

-- ==================== UP ====================
BEGIN;

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(255) NOT NULL UNIQUE,
    created_at TIMESTAMP DEFAULT NOW()
);

COMMIT;

-- ==================== DOWN ====================
-- BEGIN;
-- DROP TABLE IF EXISTS users;
-- COMMIT;
```

## 注意事项

- DOWN 脚本默认注释，测试时取消注释
- 每个迁移文件只做一件事
- 复杂迁移拆分成多个文件
