当前位置: 首页 > news >正文

定义模型生成数据表

1. 数据库配置

```js

import { Sequelize, DataTypes } from 'sequelize';

// 创建一个 Sequelize 实例,连接到 SQLite 数据库。

export const sequelize = new Sequelize('test', 'sa', "123456", {

    host: 'localhost',

    dialect: 'sqlite',

    storage: './blog.db'

});

```

2. 模型定义

```js

import { DataTypes } from 'sequelize';

import { sequelize } from '../db/sequelize.js';

export const Blog = sequelize.define("blog", {

    title: {

        type: DataTypes.STRING,

        allowNull: false

    },

    author: {

        type: DataTypes.STRING,

        allowNull: false,

    }

});

```

3. 实现增删改查操作:

  ```js

  let fn_getById = async (ctx, next) => {

      let id = ctx.params.id || 0;

      let blog = await Blog.findByPk(id);

      ctx.render('blogsAddOrEdit.html', { blog });

  }

  ```

  - 使用 `Blog.findByPk(id)` 查询指定 ID 的博客。

  - 将结果渲染到 `blogsAddOrEdit.html` 模板。

  ```js

  let fn_add = async (ctx, next) => {

      let obj = ctx.request.body;

      await Blog.create(obj);

  }

  ```

  - 使用 `Blog.create(obj)` 创建新的博客记录。

  ```js

  let fn_update = async (ctx, next) => {

      let id = ctx.params.id || 0;

      let obj = ctx.request.body;

      await Blog.update(obj, { where: { id: id } });

      ctx.body = '修改成功';

  }

  ```

  - 使用 `Blog.update(obj, { where: { id } })` 更新指定 ID 的博客。


 

  ```js

  let fn_del = async (ctx, next) => {

      let id = ctx.params.id || 0;

      await Blog.destroy({ where: { id: id } });

      ctx.body = '删除成功';

  }

  ```

  - 使用 `Blog.destroy({ where: { id } })` 删除指定 ID 的博客。







 

http://www.dtcms.com/a/75983.html

相关文章:

  • Linux top 命令详解:从入门到高级用法
  • WebRTC、WebSocket、EasyRTC嵌入式音视频SDK:技术差异与应用场景详细对比
  • C++刷题(三):string
  • c++--vector
  • leecode417.太平洋大西洋水流问题
  • PyQt5 - Groove 启用高 DPI 支持,使得应用程序能够自动适应不同的屏幕分辨率
  • numpy学习笔记6:np.sin(a) 的详细解释
  • 《声音的未来:语音识别文献解读》专栏介绍及其文章解读目录
  • 微学习:提高企业培训效率的创新方式
  • 挖矿------获取以太坊测试币
  • 基于大模型的慢性鼻窦炎全周期预测与治疗方案研究报告
  • 云钥科技工业相机定制服务,助力企业实现智能智造
  • PCL 高斯函数拟合(正太分布)
  • 《TCP/IP网络编程》学习笔记 | Chapter 19:Windows 平台下线程的使用
  • 【Java项目】基于JSP的智能停车场管理系统
  • 蓝桥杯刷题 Day2 AC自动机(二次加强版)
  • linux 命令 vim
  • 若依前端框架增删改查
  • c++领域展开第十七幕——STL(vector容器的模拟实现以及迭代器失效问题)超详细!!!!
  • 三个线程按顺序交替打印 A B C
  • Power Apps 技术分享:使用控件的相对布局
  • 组态王Kingview配置为OPCUA服务器的一些问题处理
  • [快乐学坊management_1] With Cursor | Mysql设计 | 服务接口设计与开发
  • PyTorch 深度学习实战(17):Asynchronous Advantage Actor-Critic (A3C) 算法与并行训练
  • ABeam 德硕 | 在华外企ESG议题选择指南(5)—— 国际与国内ESG议题选择研究:SASB可持续会计准则解读
  • Unity 云渲染本地部署方案
  • 检查 YAML 文件格式是否正确的命令 yamllint
  • Vala编程语言教程-数据类型
  • 【iOS】SwiftUI 路由管理(NavigationStack)
  • 深入理解 Linux 的 top 命令:实时监控系统性能