通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started · Cloudflare D1 docs 

创建数据库

在命令行中执行完成之后,会在本地和远程创建数据库:

npx wrangler@latest d1 create prod-d1-tutorial

在cf中就可以看到数据库:

现在,您的Cloudflare帐户中有一个D1数据库,该数据库与您的Cloudflare Worker绑定。
复制命令输出的最后一部分并将其粘贴到Wrangler文件中。它应该看起来像这样:

接下来,您将在数据库中创建一个数据库表,使用Prisma ORM向D1发送查询。

创建数据表

先在本地创建一个数据库表来测试是否可行,需要在本地新建一个schame.sql文件,里面的内容如下:

-- CreateTable
CREATE TABLE "User" ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,"email" TEXT NOT NULL,"name" TEXT
);-- CreateIndex
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");DROP TABLE IF EXISTS Customers;
CREATE TABLE IF NOT EXISTS Customers (CustomerId INTEGER PRIMARY KEY, CompanyName TEXT, ContactName TEXT);
INSERT INTO Customers (CustomerID, CompanyName, ContactName) VALUES (1, 'Alfreds Futterkiste', 'Maria Anders'), (4, 'Around the Horn', 'Thomas Hardy'), (11, 'Bs Beverages', 'Victoria Ashworth'), (13, 'Bs Beverages', 'Random Name');

然后在本地执行这个sql以创建数据表 :

npx wrangler d1 execute prod-d1-tutorial --local --file=./migrations/schema.sql

运行命令以验证是否存在这个表:

npx wrangler d1 execute prod-d1-tutorial --local --command="SELECT * FROM Customers"

在Worker中执行查询

开始在worker中执行查询命令来获取数据表中的数据,使用ts的话,直接复制代码到worker中

export interface Env {// If you set another name in the Wrangler config file for the value for 'binding',// replace "DB" with the variable name you defined.DB: D1Database;
}export default {async fetch(request, env): Promise<Response> {const { pathname } = new URL(request.url);if (pathname === '/api/beverages') {// If you did not use `DB` as your binding name, change it hereconst { results } = await env.DB.prepare('SELECT * FROM Customers WHERE CompanyName = ?').bind('Bs Beverages').all();return Response.json(results);}return new Response('Call /api/beverages to see everyone who works at Bs Beverages');},
} satisfies ExportedHandler<Env>;

然后启动服务后,在浏览器中访问http://localhost:8787/api/beverages

就可以得到查询的结果:

将服务部署到线上

要使用Wrangler将Worker部署到生产环境,您必须首先在将--local标志替换为--remote标志后重复数据库配置步骤,以便读取Worker数据。这将创建数据库表并将数据导入数据库的生产版本:

npx wrangler d1 execute prod-d1-tutorial --remote --file=./migrations/schema.sqlnpx wrangler d1 execute prod-d1-tutorial --remote --command="SELECT * FROM Customers"

如果执行没有问题,线上就可以看到结果数据了:

删除数据库

删除数据库的操作只需要执行命令就可以了:

npx wrangler d1 delete prod-d1-tutorial

 下一章讲的内容,可以到官方文档最后查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/908921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌aab怎么转 apk

一、环境搭建&#xff1a; 1、搭建 java 环境&#xff1b;2、安装 AndroidStudio&#xff1b;3、下载 bundletool&#xff08;地址&#xff1a;Releases google/bundletool GitHub&#xff09;&#xff1b;4、确定本地有没有签名文件&#xff0c;mac电脑一般在/users/ 自己的…

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…

AWS EKS 集群日志上报观测云实践

AWS Lambda 介绍 AWS Lambda 是亚⻢逊提供的⼀种⽆服务器计算服务。它允许开发⼈员在⽆需管理服务器的情况下运⾏代码。AWS Lambda 基于事件驱动的模型&#xff0c;当触发指定的事件时&#xff0c;Lambda 会⾃动执⾏相应的代码逻辑。 Amazon CloudWatch 日志 CloudWatch 日志…

浏览器指纹科普 | 端口扫描保护是什么?

&#x1f50d; 什么是“端口”&#xff1f; 每台电脑都像一个办公大楼&#xff0c;端口就像是不同的房间号。不同软件&#xff08;比如浏览器、代理、远程控制工具&#xff09;会用不同的端口来“对外沟通”。 比如&#xff1a; 浏览网页可能用端口 80 或 443 用代理软件或某…

傲软录屏:轻松录制,高效分享

在数字内容创作和在线教育日益流行的今天&#xff0c;屏幕录制已成为许多人表达创意、分享知识的重要方式。无论是制作教学视频、记录游戏过程&#xff0c;还是进行远程会议记录&#xff0c;一款简单易用且功能强大的屏幕录制软件都是不可或缺的。傲软录屏正是这样一款能够满足…

小程序查广州楼盘网签数据和备案价(免费)

目录 一、网签数据/销控表查询二、备案价和不利因素查询三、如何体验 一、网签数据/销控表查询 二、备案价和不利因素查询 三、如何体验 #广州楼盘备案价查询 #网签数据查询 #广州买房必看攻略 #小程序查广州楼盘备案价

【HarmonyOS5】UIAbility组件生命周期详解:从创建到销毁的全景解析

⭐本期内容&#xff1a;【HarmonyOS5】UIAbility组件生命周期详解&#xff1a;从创建到销毁的全景解析 &#x1f3c6;系列专栏&#xff1a;鸿蒙HarmonyOS&#xff1a;探索未来智能生态新纪元 文章目录 前言生命周期全景图详细状态解析与最佳实践&#x1f3ac; Create状态&#…

【云计算系统】云计算中的计算几何

一、云计算系统中的几何算法 云计算系统在资源调度、空间数据处理、安全加密及大规模优化等场景中广泛运用几何算法以提升效率与精度。 空间数据处理与索引算法 ​空间索引算法(R树、四叉树)​​ ​作用​:高效管理地理空间数据(如地图坐标、三维点云),支持快速范围查询…

基于物联网技术设计的设计室内宠物监护系统

目录 项目开发背景设计实现的功能项目硬件模块组成设计思路系统功能总结技术方案使用的模块的技术详情介绍预期成果总结 1. 项目开发背景 随着科技的不断进步&#xff0c;物联网&#xff08;IoT&#xff09;技术逐渐渗透到生活中的各个方面&#xff0c;尤其在智能家居领域&am…

aurora与pcie的数据高速传输

设备&#xff1a;zynq7100&#xff1b; 开发环境&#xff1a;window&#xff1b; vivado版本&#xff1a;2021.1&#xff1b; 引言 之前在前面两章已经介绍了aurora读写DDR,xdma读写ddr实验。这次我们做一个大工程&#xff0c;pc通过pcie传输给fpga&#xff0c;fpga再通过aur…

产品经理入门到精通:01需求调研

一、需求调研 1、需求&#xff1a;用户在某些方面需要得到某种帮助以达成目的。 2、调研&#xff1a;通过一些方法来了解某件事情的真相&#xff0c;也可以叫调查研究。 3、需求调研&#xff1a;通过观察、访谈和体验等方式&#xff0c;探究事物本质的过程。是需求诞生的开始…

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…

Android 应用开发概述与环境搭建指南

Android 应用开发概述与环境搭建指南 Android 应用开发概述与环境搭建指南一、Android 开发概述&#xff08;一&#xff09;Android 平台简介&#xff08;二&#xff09;Android 开发特点&#xff08;三&#xff09;开发语言与技术栈 二、开发环境搭建&#xff08;Windows 系统…

LocalDate类使用

1.LocalDateTime转LocalDate LocalDateTime startTime new LocalDateTime; LocalDate localDate startTime.toLocalDate(); localDate.atTime(0,0) // 设置小时分钟 localDate.atTime(23,59)// 获取明天日期 LocalDate.now().plusDays(1).atTime(0,0,0) 2.流式计算通过时间作…

驭码CodeRider 2.0深度测评:助力高效开发【探索化学奇妙世界】网站

目录 前言&#xff1a; 一、驭码 CodeRider2.0介绍 二、驭码 CodeRider2.0集成 1、准备编辑器 2、打开 Visual Studio Code 扩展窗口&#xff0c;搜索“驭码 CodeRider”&#xff0c;找到插件后点击安装​编辑 3、登录 CodeRider 4、选择OAuth 登录 5、登录成功后即可体…

【java】【服务器】线程上下文丢失 是指什么

目录 ■前言 ■正文开始 线程上下文的核心组成部分 为什么会出现上下文丢失&#xff1f; 直观示例说明 为什么上下文如此重要&#xff1f; 解决上下文丢失的关键 总结 ■如果我想在servlet中使用线程&#xff0c;代码应该如何实现 推荐方案&#xff1a;使用 ManagedE…

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…

【samba】umount:**** target is busy. ubuntu24.04 卸载挂载点

当你看到 target is busy&#xff0c;说明仍有进程在使用该挂载点或你当前的 shell 就位于该目录下。可以按下面步骤排查并强制卸载&#xff1a; 1. 确保不在挂载目录下 先切换到其它目录&#xff0c;避免当前 shell 占用&#xff1a; cd ~2. 查找占用该挂载点的进程 使用 fu…

网站首页菜单两种布局vue+elementui顶部和左侧栏导航

顶部菜单实现 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Vue.js Element UI 路由导航</…

使用 Python 正则表达式实现文本替换与电话号码规范化

文章大纲 以下是针对“使用 Python 正则表达式进行文本替换与电话号码规范化”主题的详细技术文章大纲。文章将全面探讨正则表达式在文本替换中的应用&#xff0c;特别是在处理电话号码规范化问题中的具体实现。每个部分的预计字符数反映了其在文章中的重要性&#xff0c;总计…