为了简单的模拟数据库行为,我们使用最小的数据库 sqlite3,下载 sqlite3 直接到官网的 download 页面,注意,假如您是 win 请下载 sqlite-tools-win32-x86-3170000.zip
,假如您是其他操作系统,相信您应该具有分辨下载哪一个的能力。
然后把解压好的东西放在你的系统环境变量PATH 里面,我为了简便,我直接丢在了 Python2.7 的目录下面。
在终端里面输入 sqlite3 -version 就应该可以看到版本了。
每一个开发者都不应该直接操作SQL,而是把更多的时间专注在业务上面去,所以我们需要ORM,这里我们选择 sequelize。
首先我们安装一些依赖
npm i sequelize sqlite3 -S
当然安装 sqlite3 是一件非常麻烦的事情,因为我们需要编译 node 附加模块,所以需要 node-gyp 这个工具。具体请参考 https://github.com/nodejs/node-gyp
的 REAMDE.md
实在不行可以使用cnpm进行安装。
npm i -g cnpm
cnpm i sqlite3
以及代码提示文件
npm i @types/sequelize -D
获取 sqlite3 图形化界面管理工具
来到 sqlite studio 官网 https://sqlitestudio.pl/index.rvt
下载。
使用方法也比较方便,解压就能用,选择中文简体语言,使用的话对于聪明的您应该无障碍。
在根目录下面创建一个 storage/db.sqlite3
的空文件用来当做数据库。
然后用 sqlite studio 打开这个文件。
添加字段可能不太好找,它在绿色小勾的右边,自增在主键的配置项里面。
首先我们要理清一下关系,一个用户可以有多个 todo 文件夹,一个 todo 文件夹又包括多个 todo。
- 创建 user 表
id integer 主键 唯一 自增
usernmae varchar(255) 唯一 非空
email varchar(40) 唯一 非空
password varchar(255) 非空
- 创建 todo_folder 表
id integer 主键 唯一 自增
user_id 外键 非空
title text 非空
创建 todo 表
id integer 主键 唯一 自增
todo_folder_id 外键 非空
text text 非空
completed boolean 默认false
created_at time
updated_at time