为了简单的模拟数据库行为,我们使用最小的数据库 sqlite3,下载 sqlite3 直接到官网的 download 页面,注意,假如您是 win 请下载 sqlite-tools-win32-x86-3170000.zip,假如您是其他操作系统,相信您应该具有分辨下载哪一个的能力。

然后把解压好的东西放在你的系统环境变量PATH 里面,我为了简便,我直接丢在了 Python2.7 的目录下面。

在终端里面输入 sqlite3 -version 就应该可以看到版本了。

每一个开发者都不应该直接操作SQL,而是把更多的时间专注在业务上面去,所以我们需要ORM,这里我们选择 sequelize。

首先我们安装一些依赖

  1. npm i sequelize sqlite3 -S

当然安装 sqlite3 是一件非常麻烦的事情,因为我们需要编译 node 附加模块,所以需要 node-gyp 这个工具。具体请参考 https://github.com/nodejs/node-gyp的 REAMDE.md

实在不行可以使用cnpm进行安装。

  1. npm i -g cnpm
  2. cnpm i sqlite3

以及代码提示文件

  1. npm i @types/sequelize -D

获取 sqlite3 图形化界面管理工具

来到 sqlite studio 官网 https://sqlitestudio.pl/index.rvt 下载。

使用方法也比较方便,解压就能用,选择中文简体语言,使用的话对于聪明的您应该无障碍。

在根目录下面创建一个 storage/db.sqlite3 的空文件用来当做数据库。

然后用 sqlite studio 打开这个文件。

添加字段可能不太好找,它在绿色小勾的右边,自增在主键的配置项里面。

首先我们要理清一下关系,一个用户可以有多个 todo 文件夹,一个 todo 文件夹又包括多个 todo。

  • 创建 user 表
  1. id integer 主键 唯一 自增
  2. usernmae varchar(255) 唯一 非空
  3. email varchar(40) 唯一 非空
  4. password varchar(255) 非空
  • 创建 todo_folder 表
  1. id integer 主键 唯一 自增
  2. user_id 外键 非空
  3. title text 非空

创建 todo 表

  1. id integer 主键 唯一 自增
  2. todo_folder_id 外键 非空
  3. text text 非空
  4. completed boolean 默认false
  5. created_at time
  6. updated_at time