/TwitKit-Fridge

Default storage backend of TwitKit installation.

Primary LanguageJava

TwitKit Fridge

Build Status

TwitKit的数据库后端,因为是存生肉的,所以是冰箱。

依赖

运行依赖

  • mysql或mariadb
  • jre8

编译依赖

  • jdk8
  • maven

在Ubuntu 18.04下:

sudo apt install openjdk-8-jre-headless openjdk-8-jdk-headless maven -y
  • maven的依赖关系中,虚包由这些包填实: default-jre-headless, openjdk-11-jre-headless, openjdk-8-jre-headless; 也就是必须指明openjdk-8-jre-headless,否则就会安装openjdk-11-jre-headless,另一方面,要执行编译的话又必须依赖jdk,因此需要同时安装这三个包。 另外,目前来看jdk11除了编译警告较多以外,不影响使用。

快速安装

如果当前用户具有sudo权限,并且数据库加载了unix_socket插件(Ubuntu 18.04的默认配置),则可以使用根目录下的脚本进行快速安装。安装完成后建议取消sudo权限。

  • test_init.sh用于快速建立测试库,增加--remove参数用于移除。

  • build.sh用于运行编译和运行测试。

  • configen.sh用于生成模板配置文件。

  • db_init.sh用于快速部署生产使用的数据库,执行db_init.sh [name]会产生同名的数据库、用户和一串随机密码(优先使用pwgen,未找到则会使用uuidgen),并将其按照配置文件的格式打印出来;没有提供参数则会使用当前登录的用户名(显然,如果root用户不带参数运行此脚本会导致报错)

  • start.sh用于运行程序。

手动安装

  1. 为了确保数据库后端的可用性,编译时默认会进行测试,请建立数据库、用户名和密码都为fridge_test的测试环境,并在库中运行schema/test_init.sql初始化。

  2. 进入src/fridge_src目录后执行下列命令来编译,生成到fridge-src/target中。如要跳过测试,取消注释maven.test.skip参数。

    mvn clean
    mvn package #-Dmaven.test.skip=true
    
  3. 为生产使用建立数据库和用户,然后用schema/db_init.sql初始化;

  4. 工作目录下建立application.properties文件(可使用configen.sh),并按以下格式写入数据库参数,替换<>的内容:

    spring.datasource.yui.jdbc-url=jdbc:mysql://localhost:3306/<DBname>?characterEncoding=u
    tf-8&useSSL=true&serverTimezone=Asia/Shanghai
    spring.datasource.yui.username=<DBuser>
    spring.datasource.yui.password=<DBpass>
    
  5. 通过java -jar执行编译出的jar包。