Laravel Database Schema Diagram
A fresh Laravel 11 application ships with a handful of framework tables created by the default migrations: users, password_reset_tokens, sessions, jobs, failed_jobs, cache, and cache_locks. This diagram shows the full default schema — the users table with password and remember_token columns, plus the sessions table that references users via a user_id foreign key.
Tables in the Laravel schema
| Column | Type | Nullable | Key |
|---|---|---|---|
| users | |||
| id | bigint | No | PK |
| name | varchar | No | — |
| varchar | No | — | |
| email_verified_at | timestamp | Yes | — |
| password | varchar | No | — |
| remember_token | varchar(100) | Yes | — |
| created_at | timestamp | Yes | — |
| updated_at | timestamp | Yes | — |
| password_reset_tokens | |||
| varchar | No | PK | |
| token | varchar | No | — |
| created_at | timestamp | Yes | — |
| sessions | |||
| id | varchar | No | PK |
| user_id | bigint | Yes | — |
| ip_address | varchar(45) | Yes | — |
| user_agent | text | Yes | — |
| payload | longtext | No | — |
| last_activity | integer | No | — |
| jobs | |||
| id | bigint | No | PK |
| queue | varchar | No | — |
| payload | longtext | No | — |
| attempts | tinyint | No | — |
| reserved_at | integer | Yes | — |
| available_at | integer | No | — |
| created_at | integer | No | — |
| failed_jobs | |||
| id | bigint | No | PK |
| uuid | varchar | No | — |
| connection | text | No | — |
| queue | text | No | — |
| payload | longtext | No | — |
| exception | longtext | No | — |
| failed_at | timestamp | No | — |
| cache | |||
| key | varchar | No | PK |
| value | mediumtext | No | — |
| expiration | integer | No | — |
| cache_locks | |||
| key | varchar | No | PK |
| owner | varchar | No | — |
| expiration | integer | No | — |
Frequently asked questions
What tables does a default Laravel installation have?
The default Laravel migrations create users, password_reset_tokens, sessions, jobs, failed_jobs, cache, and cache_locks tables.
Does the Laravel sessions table reference the users table?
Yes. The sessions table has a user_id foreign key column that references users.id, so you can look up which user owns each authenticated session.
Visualize your own database
Paste your PostgreSQL connection string and get an interactive ER diagram of your own schema in under 10 seconds. No signup required.
Try it free →