D1 is Cloudflare's native serverless SQL database (docs). This project demonstrates using a Worker with a D1 binding to execute a SQL statement. A simple frontend displays the result of this query:
SELECT * FROM comments LIMIT 3;
The D1 database is initialized with a comments
table and this data:
INSERT INTO comments (author, content)
VALUES
('Kristian', 'Congrats!'),
('Serena', 'Great job!'),
('Max', 'Keep up the good work!')
;
[!IMPORTANT] When using C3 to create this project, select "no" when it asks if you want to deploy. You need to follow this project's setup steps before deploying.
Outside of this repo, you can start a new project with this template using C3 (the create-cloudflare
CLI):
npm create cloudflare@latest -- --template=cloudflare/templates/d1-template
A live public deployment of this template is available at https://d1-template.templates.workers.dev
npm install
npx wrangler d1 create d1-template-database
...and update the database_id
field in wrangler.json
with the new database ID.migrations
directory in this project):npx wrangler d1 migrations apply --remote d1-template-database
npx wrangler deploy