/lib_backend

tobacco library backend

Primary LanguageJavaScript

注意下面文件是没有同步的, 需要自己创建. 每个文件应包含的内容可看 .gitignore 注释

  • library.setting.json
  • knex.setting.json
  • helper/isAdmin.js

问题

psql

  • 系统本身有一个表的名字叫 user, 与自己创建的表 user 重名, 使用自己的表时要用双引号

安装

  1. postgresql 的安装 & 设定(centos): 链接 安装完毕后, linux 会多一个 postgres 用户, 而数据库也有一个 postgres 用户, 文章有写两个用户设定密码的方式. 记得一定要看 Secure Local Access 章节, 要通过修改 pg_hba.conf 才能令程序通过用户名和密码访问数据库,

另: 因为使用 knex 来操作数据库, 而"With psql you are using unix socket to connect DB and with knex you are trying to use TCP connection", 所以更改 pg_hba.conf 设定时, 把全部链接方式都改为 md5 的方式

  1. 建数据库 library 和 library_test

  2. 安装 PGroonga: 链接

  3. 安装 Node: 链接

  4. 安装 git

  5. 安装 node-gyp: 链接

  6. 使用 git 复制 lib_backend: 链接

  7. 安装 yarn: 链接

  8. 补全以下文件: library.setting.json, knex.setting.json, helper/isAdmin.js

  9. 补全 validate 文件夹以及证书(看具体情况)

  10. 运行 knex migrate:latest --env production

  11. 运行 addUser.js, addBook.js. 格式为 NODE_ENV=production node script.js data.txt

  12. 设定 pm2 自启动: 链接

导入数据的格式说明

用户数据格式

每一行有两个数据, 分别是工号和姓名, 数据之间用空格分开

eg: 000000 汪汪

书的数据格式

使用 bookInfoInput 软件进行录入, 软件所在的文件夹有一个文件叫 db.json. 把 db.json 提出来使用就 ok.

TODO

  • history 表应该对每个 uid 的数量进行限制: 写 sql 手工清除(暂时只想到这个办法)