# Initialize/Update D1 Database

When executing the wrangler login command for the first time, you will be prompted to log in. Follow the prompts to complete the login process.

## Initialize Database

```bash
cd worker
cp wrangler.toml.template wrangler.toml
# Create D1 and execute schema.sql
wrangler d1 create temp-email-db
wrangler d1 execute temp-email-db --file=../db/schema.sql --remote
```

> [!tip]
> Use a D1 database name such as `temp-email-db` or `cloudflare-temp-email-prod`.

After creation, you can see the D1 database in the Cloudflare console.

![D1](/readme_assets/d1.png)

## Update Database Schema

For `schema` updates, please confirm your previously deployed version.
Check the [Changelog](https://github.com/dreamhunter2333/cloudflare_temp_email/blob/main/CHANGELOG.md)

Find the `patch` file you need to execute and run it, for example:

```bash
cd worker
wrangler d1 execute temp-email-db --file=../db/2024-01-13-patch.sql --remote
wrangler d1 execute temp-email-db --file=../db/2024-04-03-patch.sql --remote
```
