|
12 | 12 |
|
13 | 13 | ## 说明 |
14 | 14 |
|
15 | | -基于peewee开发的Mysql数据库接口。 |
| 15 | +基于peewee开发的MySQL数据库接口。 |
16 | 16 |
|
17 | | -由于peewee对Mysql的限制,目前存在以下问题。如不影响使用可以忽略,当影响使用时,可按照以下方式手动修改mysql数据库表来解决。 |
| 17 | +## 使用 |
| 18 | + |
| 19 | +### 全局配置 |
| 20 | + |
| 21 | +在vn.py中使用MySQL时,需要在全局配置中填写以下字段信息: |
| 22 | + |
| 23 | +|名称|含义|必填|举例| |
| 24 | +|---------|----|---|---| |
| 25 | +|database.name|名称|是|mysql| |
| 26 | +|database.host|地址|是|localhost| |
| 27 | +|database.port|端口|是|3306| |
| 28 | +|database.database|实例|是|vnpy| |
| 29 | +|database.user|用户名|是|root| |
| 30 | +|database.password|密码|是|123456| |
| 31 | + |
| 32 | +### 创建实例(Schema) |
18 | 33 |
|
19 | | -- 保存tick数据时,保存数据的时间精确度只能精确到秒 |
| 34 | +vn.py不会主动为MySQL数据库创建实例,所以使用前请确保database.database字段中填写的的数据库实例已经创建了。 |
| 35 | + |
| 36 | +若实例尚未创建,可以使用【MySQL Workbench】客户端的【new_schema】进行操作。 |
| 37 | + |
| 38 | +### Tick时间戳的毫秒支持 |
| 39 | + |
| 40 | +由于peewee的建表功能限制,默认情况下在保存tick数据时,时间精确度只能精确到秒。如果影响使用,可按照以下方式手动修改MySQL数据表来解决: |
20 | 41 |
|
21 | 42 | ``` |
22 | | -# 首先进入Mysql数据库 |
23 | | -# 选择vnpy数据库 |
| 43 | +# 用MySQL命令行工具连接数据库 |
| 44 | +
|
| 45 | +# 选择数据实例 |
24 | 46 | use vnpy; |
| 47 | +
|
25 | 48 | # 修改dbtickdata表datetime列的数据格式 |
26 | 49 | ALTER TABLE `dbtickdata` MODIFY COLUMN `datetime` DATETIME(3); |
27 | 50 | ``` |
28 | 51 |
|
29 | | -- 部分系统对大小写不明敏感 |
| 52 | +### 字符串大小写敏感支持 |
| 53 | + |
| 54 | +由于peewee的建表功能限制,默认情况下在保存合约代码的【symbol】字段时,无法区分字符串大小写。如果影响使用,可按照以下方式手动修改MySQL数据表来解决: |
30 | 55 |
|
31 | 56 | ``` |
32 | | -# 首先进入Mysql数据库 |
33 | | -# 选择vnpy数据库 |
| 57 | +# 用MySQL命令行工具连接数据库 |
| 58 | +
|
| 59 | +# 选择数据实例 |
34 | 60 | use vnpy; |
35 | | -# 修改三张表symbol字段BINARY属性 |
| 61 | +
|
| 62 | +# 修改三张表symbol字段的BINARY属性 |
36 | 63 | ALTER TABLE `dbbaroverview` MODIFY COLUMN `symbol` VARCHAR(45) BINARY; |
37 | 64 |
|
38 | 65 | ALTER TABLE `dbbardata` MODIFY COLUMN `symbol` VARCHAR(45) BINARY; |
39 | 66 |
|
40 | 67 | ALTER TABLE `dbtickdata` MODIFY COLUMN `symbol` VARCHAR(45) BINARY; |
41 | 68 | ``` |
42 | | - |
43 | | -## 使用 |
44 | | - |
45 | | -MySQL在VN Trader中配置时,需要填写以下字段信息: |
46 | | - |
47 | | -| 字段名 | 值 | |
48 | | -|--------- |---- | |
49 | | -|database.driver | "mysql" | |
50 | | -|database.host | 地址 | |
51 | | -|database.port | 端口 | |
52 | | -|database.database | 数据库名 | |
53 | | -|database.user | 用户名 | |
54 | | -|database.password | 密码 | |
55 | | - |
56 | | -MySQL的例子如下所示: |
57 | | - |
58 | | -| 字段名 | 值 | |
59 | | -|--------- |---- | |
60 | | -|database.driver | mysql | |
61 | | -|database.host | localhost | |
62 | | -|database.port | 3306 | |
63 | | -|database.database | vnpy | |
64 | | -|database.user | root | |
65 | | -|database.password | .... | |
66 | | - |
67 | | -请注意,vn.py不会主动为关系型数据库创建数据库,所以请确保你所填的database.database字段对应的数据库已经创建好了。若未创建数据库,请手动连上数据库并运行该命令: |
68 | | -``` |
69 | | -create database <你填的database.database>; |
70 | | -``` |
0 commit comments