# Flower Story - Database

## users
| column     | type         | isnull | description |
|----------  |--------------|:------:|-------------|
| uid        | unique int   | no     |
| id         | text         | no     | 用户 id
| password   | text         | no     | 加盐密码 [<sup>1</sup>](#ref-anchor-1)
| level      | integer      | no     | 用户级别 [<sup>2</sup>](#ref-anchor-2)
| regdate    | numeric      | no     | 注册日期
| activedate | numeric      |        | 最后活跃日期
| name       | text         | no     | 用户名称
| email      | text         |        | 邮箱
| mobile     | text         |        | 联系电话
---
1. <span id="ref-anchor-1"></span>密码存储为 `sha256(password + uid + salt)`
2. <span id="ref-anchor-2"></span>级别暂定如下
    * -1: disabled
    * 0: user
    * 99: admin
---

## categories
| column     | type         | isnull | description |
|----------  |--------------|:------:|-------------|
| cid        | unique int   | no     |
| name       | text         | no     | 花草种类名称
---

## flowers
| column     | type         | isnull | description |
|----------  |--------------|:------:|-------------|
| fid        | unique int   | no     |
| categoryid | integer      | no     | 种类 id
| name       | text         | no     | 花草名称
| datebuy    | numeric      | no     | 购买时间
| cost       | real         |        | 金额
| purchase   | text         |        | 购入渠道
| photo      | blob         |        | 靓照 [<sup>3</sup>](#ref-anchor-3)
---
3. <span id="ref-anchor-3"></span>若数据为 `NULL`，则读取 `/assets/$uid/photos/$fid.jpg` 显示为购买时的照片
---

## events
| column     | type         | isnull | description |
|----------  |--------------|:------:|-------------|
| eid        | unique int   | no     |
| name       | text         |        | 事件名称 [<sup>4</sup>](#ref-anchor-4)
| unique     | integer      |        | 是否唯一 [<sup>5</sup>](#ref-anchor-5)
---
4. <span id="ref-anchor-4"></span>事件名称，如购买、出生、换盆、浇水、施肥、发芽、开花、落叶、修剪、生病、死亡、出售等等
5. <span id="ref-anchor-5"></span>事件是否唯一，如购买、出生、死亡、出售这些事件具有唯一性
---

## records
| column     | type         | isnull | description |
|----------  |--------------|:------:|-------------|
| rid        | unique int   | no     |
| eid        | integer      | no     | 事件 id
| date       | numeric      | no     | 事件发生日期
| byuid      | integer      |        | 操作人 uid
| byname     | text         |        | 操作人 [<sup>6</sup>](#ref-anchor-6)
| photo      | blob         |        | 事件照片 [<sup>7</sup>](#ref-anchor-7)
---
6. <span id="ref-anchor-6"></span>操作人名称，不是必须为系统内的人员
7. <span id="ref-anchor-7"></span>若数据为 `NULL`，则读取 `/assets/$uid/photos/rid/*.jpg` 显示为该事件关联的照片
---