🪿 HONC
这是一个使用创建的项目 create-honc-app 模板。
还有一个 出色的HONC系列 还有更多的指南、用例和示例。
入门
第1天 是Cloudflare的无服务器SQL数据库。使用D1数据库运行HONC涉及两个关键步骤:第一,在本地设置项目,第二,在生产中部署项目。您可以使用Wrangler在本地启动D1数据库。如果您计划部署应用程序用于生产,请确保您已在Cloudflare帐户中创建了D1实例。
项目结构
├── src
│ ├── index.ts # Hono app entry point
│ └── db
│ └── schema.ts # Database schema
├── .dev.vars.example # Example .dev.vars file
├── .prod.vars.example # Example .prod.vars file
├── seed.ts # Optional script to seed the db
├── drizzle.config.ts # Drizzle configuration
├── package.json
├── tsconfig.json # TypeScript configuration
└── wrangler.toml # Cloudflare Workers configuration地方发展指挥部
运行迁移并(可选)为数据库设置种子:
# this is a convenience script that runs db:touch, db:generate, db:migrate, and db:seed
npm run db:setup运行开发服务器:
npm run dev当你迭代数据库模式时,你需要生成一个新的迁移文件,并按如下方式应用它:
npm run db:generate
npm run db:migrate部署命令
在将您的worker部署到Cloudflare之前,请确保您在Cloudflare上有一个正在运行的D1实例来连接您的workers。
您可以通过导航到以下位置来创建D1实例 Workers & Pages 部分和选择 D1 SQL Database.
或者,您可以使用CLI创建D1实例:
npx wrangler d1 create 创建数据库后,更新 wrangler.toml 带有数据库id的文件。
[[d1_databases]]
binding = "DB"
database_name = "honc-d1-database"
database_id = ""
migrations_dir = "drizzle/migrations"将以下信息纳入 .prod.vars 文件:
CLOUDFLARE_D1_TOKEN="" # An API token with D1 edit permissions. You can create API tokens from your Cloudflare profile
CLOUDFLARE_ACCOUNT_ID="" # Find your Account id on the Workers & Pages overview (upper right)
CLOUDFLARE_DATABASE_ID="" # Find the database ID under workers & pages under D1 SQL Database and by selecting the created database如果您尚未生成最新的迁移文件,请运行:
npm run db:generate之后,运行生产迁移脚本:
npm run db:migrate:prod在中更改项目的名称 wrangler.toml 选择适合您项目的内容:
name = "my-d1-project"最后,部署你的worker
npm run deploy