Menci
6 years ago
2 changed files with 104 additions and 124 deletions
@ -0,0 +1,77 @@ |
|||||||
|
# SYZOJ 2 |
||||||
|
[中文](README.md) | English |
||||||
|
|
||||||
|
An online judge system for algorithm competition. |
||||||
|
|
||||||
|
This project is the **official** successor and rewritten version of the original Python/Flask version of SYZOJ, which is authorized by the original author [@Chenyao2333](https://github.com/Chenyao2333). |
||||||
|
|
||||||
|
Currently maintained by [LibreOJ](https://loj.ac). |
||||||
|
|
||||||
|
# Upgrading |
||||||
|
Because of updates to the database structure, users who upgrade from a commit BEFORE [d5bcbe8fb79e80f9d603b764ac787295cceffa34](https://github.com/syzoj/syzoj/commit/d5bcbe8fb79e80f9d603b764ac787295cceffa34) (Feb 21, 2018) **MUST** perform the following SQL on the database: |
||||||
|
|
||||||
|
```sql |
||||||
|
ALTER TABLE `judge_state` ADD `is_public` TINYINT(1) NOT NULL AFTER `compilation`; |
||||||
|
UPDATE `judge_state` JOIN `problem` ON `problem`.`id` = `judge_state`.`problem_id` SET `judge_state`.`is_public` = `problem`.`is_public`; |
||||||
|
ALTER TABLE `syzoj`.`judge_state` ADD INDEX `judge_state_is_public` (`id`, `is_public`, `type_info`, `type`); |
||||||
|
``` |
||||||
|
|
||||||
|
Who upgrade from a commit BEFORE [26d66ceef24fbb35481317453bcb89ead6c69076](https://github.com/syzoj/syzoj/commit/26d66ceef24fbb35481317453bcb89ead6c69076) (Nov 5, 2018) and not using SQLite **MUST** perform the following SQL on the database: |
||||||
|
|
||||||
|
```sql |
||||||
|
ALTER TABLE contest_player CHANGE score_details score_details JSON NOT NULL; |
||||||
|
ALTER TABLE contest_ranklist CHANGE ranking_params ranking_params JSON NOT NULL; |
||||||
|
ALTER TABLE contest_ranklist CHANGE ranklist ranklist JSON NOT NULL; |
||||||
|
ALTER TABLE custom_test CHANGE result result JSON NOT NULL; |
||||||
|
ALTER TABLE judge_state CHANGE compilation compilation JSON NOT NULL; |
||||||
|
ALTER TABLE judge_state CHANGE result result JSON NOT NULL; |
||||||
|
``` |
||||||
|
|
||||||
|
# Deploying |
||||||
|
The previous tutorial for deploying is outdated and have been removed. Newest version of tutorial for deploying will be available soon. |
||||||
|
|
||||||
|
Join QQ group [565280992](https://jq.qq.com/?_wv=1027&k=5JQZWwd) or Telegram group [@lojdev](https://t.me/lojdev) for help. |
||||||
|
|
||||||
|
## Email Configuration |
||||||
|
### register_mail |
||||||
|
Whether to enable register mail verification. |
||||||
|
|
||||||
|
### email\_jwt\_secret |
||||||
|
Secret used for email token, **for security** please fill with random string. |
||||||
|
|
||||||
|
### email |
||||||
|
#### Sendmail(often fail, not recommended) |
||||||
|
```js |
||||||
|
"email": { |
||||||
|
"method": "sendmail", |
||||||
|
"options": { |
||||||
|
"address": "sender@address.domain", |
||||||
|
} |
||||||
|
}, |
||||||
|
``` |
||||||
|
|
||||||
|
#### Aliyun Direct Mail(recommended) |
||||||
|
```js |
||||||
|
"email": { |
||||||
|
"method": "aliyundm", |
||||||
|
"options": { |
||||||
|
"AccessKeyId": "xxxx", |
||||||
|
"AccessKeySecret": "xxxx", |
||||||
|
"AccountName": "sender@address.domain" |
||||||
|
} |
||||||
|
}, |
||||||
|
``` |
||||||
|
|
||||||
|
#### SMTP |
||||||
|
```js |
||||||
|
"email": { |
||||||
|
"method": "smtp", |
||||||
|
"options": { |
||||||
|
"host": "smtp.163.com", |
||||||
|
"port": 465, |
||||||
|
"username": "xxx@163.com", |
||||||
|
"password": "xxx", |
||||||
|
"allowUnauthorizedTls": false |
||||||
|
} |
||||||
|
}, |
||||||
|
``` |
Loading…
Reference in new issue