在应用里可以再添加一个 verifications 数据表 .. 里面可以存储用户的邮件验证信息 .. 主要就是记录一下验证的时间,用户的 id 号,还有一个随机字符 ... 先去创建一个 migration ... adonis make:migration .. 名字是 verification .. 选择创建表 ..
回到项目 .. 找到刚才创建的 migration ..
在 up 方法里面,创建了一个叫 verifications 的数据表 .. 在这个表上我们可以再去添加点东西 .. 先添加一个字符串类型的字段 .. 名字是 token ...
发送验证邮件的时候,邮件里面要带着这个 token 的值,用户按了邮件上的激活链接,链接地址里面会包含这个 token 的值 .. 根据这个值我们可以去设置对应的用户 ..
下面再添加一个 integer 类型的字段 .. 名字是 user_id ... unsigned ... index() ..
再把这个 user_id 字段设置成一个外键 ... table.foreign .. user_id ... references ,关联的是 users 表里的 id 字段 .. 再添加一个 onDelete .. CASCADE 美 [kæˈsked] ... 意思就是,删除用户数据记录的同时,也会把这个 verifications 表里的相关的记录删除掉 ..
rollback 这个 migration 的时候,可以 drop 掉 verifications 这个数据表 ..
回到命令行 .. 执行一下 adonis migraiton:run ..
再到数据库客户端上预览一下 ... 刷新一下应用的数据库 ... 这里会出现一个 verifications 数据表 .. 表里面有 id ,token ,user_id ... created_at .. 还有 updated_at 这些字段 ..
再看一下这个表的关系 ... 表里的 user_id 的值,对应的就是 users 表里的 id 字段的值 ... On Delete 是 CASCADE ...