Skip to content

Commit

Permalink
[Mod] 更新说明文档
Browse files Browse the repository at this point in the history
  • Loading branch information
vnpy committed Sep 19, 2021
1 parent 619bc33 commit a1bd617
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 40 deletions.
74 changes: 36 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,59 +12,57 @@

## 说明

基于peewee开发的Mysql数据库接口
基于peewee开发的MySQL数据库接口

由于peewee对Mysql的限制,目前存在以下问题。如不影响使用可以忽略,当影响使用时,可按照以下方式手动修改mysql数据库表来解决。
## 使用

### 全局配置

在vn.py中使用MySQL时,需要在全局配置中填写以下字段信息:

|名称|含义|必填|举例|
|---------|----|---|---|
|database.name|名称||mysql|
|database.host|地址||localhost|
|database.port|端口||3306|
|database.database|实例||vnpy|
|database.user|用户名||root|
|database.password|密码||123456|

### 创建实例(Schema)

- 保存tick数据时,保存数据的时间精确度只能精确到秒
vn.py不会主动为MySQL数据库创建实例,所以使用前请确保database.database字段中填写的的数据库实例已经创建了。

若实例尚未创建,可以使用【MySQL Workbench】客户端的【new_schema】进行操作。

### Tick时间戳的毫秒支持

由于peewee的建表功能限制,默认情况下在保存tick数据时,时间精确度只能精确到秒。如果影响使用,可按照以下方式手动修改MySQL数据表来解决:

```
# 首先进入Mysql数据库
# 选择vnpy数据库
# 用MySQL命令行工具连接数据库
# 选择数据实例
use vnpy;
# 修改dbtickdata表datetime列的数据格式
ALTER TABLE `dbtickdata` MODIFY COLUMN `datetime` DATETIME(3);
```

- 部分系统对大小写不明敏感
### 字符串大小写敏感支持

由于peewee的建表功能限制,默认情况下在保存合约代码的【symbol】字段时,无法区分字符串大小写。如果影响使用,可按照以下方式手动修改MySQL数据表来解决:

```
# 首先进入Mysql数据库
# 选择vnpy数据库
# 用MySQL命令行工具连接数据库
# 选择数据实例
use vnpy;
# 修改三张表symbol字段BINARY属性
# 修改三张表symbol字段的BINARY属性
ALTER TABLE `dbbaroverview` MODIFY COLUMN `symbol` VARCHAR(45) BINARY;
ALTER TABLE `dbbardata` MODIFY COLUMN `symbol` VARCHAR(45) BINARY;
ALTER TABLE `dbtickdata` MODIFY COLUMN `symbol` VARCHAR(45) BINARY;
```

## 使用

MySQL在VN Trader中配置时,需要填写以下字段信息:

| 字段名 ||
|--------- |---- |
|database.driver | "mysql" |
|database.host | 地址 |
|database.port | 端口 |
|database.database | 数据库名 |
|database.user | 用户名 |
|database.password | 密码 |

MySQL的例子如下所示:

| 字段名 ||
|--------- |---- |
|database.driver | mysql |
|database.host | localhost |
|database.port | 3306 |
|database.database | vnpy |
|database.user | root |
|database.password | .... |

请注意,vn.py不会主动为关系型数据库创建数据库,所以请确保你所填的database.database字段对应的数据库已经创建好了。若未创建数据库,请手动连上数据库并运行该命令:
```
create database <你填的database.database>;
```
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ url = https://www.vnpy.com
license = MIT
author = Xiaoyou Chen
author_email = [email protected]
description = Mysql database manager for vn.py quant trading framework.
description = MySQL database adapter for vn.py quant trading framework.
long_description = file: README.md
long_description_content_type = text/markdown
keywords =
Expand Down
1 change: 0 additions & 1 deletion vnpy_mysql/mysql_database.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
""""""
from datetime import datetime
from typing import List

Expand Down

0 comments on commit a1bd617

Please sign in to comment.