loopback4入坑记录(三)-在关系数据库上运行

前言

  1. 《loopback4入坑记录(二)》中成功创建了 Todo、TodoList、TodoListImage三个model,以及他们之间的关系。
  2. 现在将参照官网 在数据库中持久化这些model,先看下我成功的结果,用数据库软件er图展示的,其他的表不用关心。
    在这里插入图片描述

正文开始

1. 将 《loopback4入坑记录(一)》中创建的数据源删除

rm src/datasources/db.datasource.*

在这里插入图片描述

2.创建新的数据源

lb4 datasource

说明:这里我用的是mysql,我的这个mysql是部署在自己腾讯云服务器上的,所以ip不方便公开,所以你们需要自己部署一台mysql服务器,并在做这个练习之前,测试一下它的连通性。
在这里插入图片描述

3.在Todo模型中指定外键约束

{
  settings: {
    foreignKeys: {
      fk_todo_todoListId: {
        name: 'fk_todo_todoListId',
        entity: 'TodoList',
        entityKey: 'id',
        foreignKey: 'todoListId',
      }
    }
  }
}

在这里插入图片描述

3.在TodoListImage模型中指定外键约束

{
  settings: {
    foreignKeys: {
      fk_todoListImage_todoListId: {
        name: 'fk_todoListImage_todoListId',
        entity: 'TodoList',
        entityKey: 'id',
        foreignKey: 'todoListId',
      },
    },
  },
}

在这里插入图片描述

4.修改 src/migrate.ts 文件

models: ['TodoList', 'Todo', 'TodoListImage'],

在这里插入图片描述

5.运行 npm run build

npm run build

在这里插入图片描述

6.运行 npm run migrate

npm run migrate

在这里插入图片描述

7.运行 npm start

npm run start

在这里插入图片描述

8.数据库中检查结果

你们可以用自己熟悉的数据库管理工具查看
在这里插入图片描述


总结

  1. 当执行 npm run buildnpm run migrate 已经 npm start后,以为就这样结束了,官网只是简单的说几个表已经创建,但是并未说去哪里验证这个结果。自己当时也是抱着试一试的心态去数据库中看了一下,很吃惊的发现有新增的三个表。
  2. npm run migrate 这个命令,和 Django 中的 python manage.py makemigrationspython manage.py migrate 类似,都是对数据model进行变动后需要来一次 (迁移)migrate。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值