migration-reference · implemented
Migration base 01 — users
Estado atual das tabelas de autenticação, reset de senha e sessões.
Tabelas criadas
users
| Campo | Contrato atual |
|---|---|
id | bigint, chave primária. |
name | string, obrigatório. |
email | string, único. |
cpf | string(11), único; hoje está na conta. |
password | string. |
remember_token | token padrão de sessão. |
| timestamps | created_at/updated_at. |
password_reset_tokens
email é a chave primária; token guarda o token do broker; created_at é nullable. A política do projeto deve evitar copiar token para logs ou email_messages.
sessions
id é a chave primária; user_id é nullable e indexado; há ip_address, user_agent, payload e last_activity indexado. O arquivo atual não cria FK para users.
Rollback atual
down() usa dropIfExists() para users, password_reset_tokens e sessions. Como não há FK explícita em sessions, a ordem atual executa.
Checklist
- Criar as três tabelas base.
- Tornar e-mail e CPF únicos no estado atual.
- Configurar broker de reset para
password_reset_tokens. - Manter CPF e CpfCast em
users;user_personal_dataguarda dados pessoais atuais e campos profissionais opcionais do supervisor. - Confirmar se
sessions.user_iddeve receber FK no futuro. - Adicionar teste de schema/rollback se essa migration for alterada.