electerm-data-tool 1.0.0 → 1.101.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -17
- package/README.zh-CN.md +185 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Electerm Data Tool
|
|
2
2
|
|
|
3
|
+
[中文文档 (Chinese README)](./README.zh-CN.md)
|
|
4
|
+
|
|
3
5
|
A command-line utility for managing Electerm application data, including database migration from v1 (NeDB) to v2 (SQLite) and data export functionality.
|
|
4
6
|
|
|
5
7
|
## Features
|
|
@@ -147,10 +149,6 @@ The exported JSON follows this structure:
|
|
|
147
149
|
|
|
148
150
|
- **Node.js**: 16.0.0 or higher
|
|
149
151
|
- **For SQLite (v2)**: Node.js 22.0.0 or higher
|
|
150
|
-
- **Dependencies**:
|
|
151
|
-
- `commander` - CLI framework
|
|
152
|
-
- `@yetzt/nedb` - NeDB database support
|
|
153
|
-
- `nanoid` - ID generation
|
|
154
152
|
|
|
155
153
|
## File Locations
|
|
156
154
|
|
|
@@ -204,19 +202,6 @@ electerm-data-tool info
|
|
|
204
202
|
electerm-data-tool export ~/electerm-backup-after-migration.json
|
|
205
203
|
```
|
|
206
204
|
|
|
207
|
-
### Using with npm scripts
|
|
208
|
-
|
|
209
|
-
```bash
|
|
210
|
-
# Quick migration
|
|
211
|
-
npm run migrate
|
|
212
|
-
|
|
213
|
-
# Quick export
|
|
214
|
-
npm run export ~/backup.json
|
|
215
|
-
|
|
216
|
-
# Quick info
|
|
217
|
-
npm run info
|
|
218
|
-
```
|
|
219
|
-
|
|
220
205
|
## Troubleshooting
|
|
221
206
|
|
|
222
207
|
### Migration Issues
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# Electerm 数据工具
|
|
2
|
+
|
|
3
|
+
[English README](./README.md)
|
|
4
|
+
|
|
5
|
+
一个用于管理 Electerm 应用数据的命令行工具,支持从 v1 (NeDB) 到 v2 (SQLite) 的数据库迁移,以及数据导出。
|
|
6
|
+
|
|
7
|
+
## 功能特性
|
|
8
|
+
|
|
9
|
+
- 🔄 **数据库迁移**:将 Electerm 数据从 v1 (NeDB) 迁移到 v2 (SQLite)
|
|
10
|
+
- 📤 **数据导出**:将所有 Electerm 数据导出为一个包含明文密码的 JSON 文件
|
|
11
|
+
- 📊 **数据库信息**:显示当前 Electerm 数据库的信息
|
|
12
|
+
- 🔐 **密码解密**:导出时自动解密密码,便于备份
|
|
13
|
+
|
|
14
|
+
## 安装
|
|
15
|
+
|
|
16
|
+
### 推荐:npx 直接运行
|
|
17
|
+
|
|
18
|
+
无需安装,直接使用 npx 运行:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx electerm-data-tool migrate
|
|
22
|
+
npx electerm-data-tool export ~/backup.json
|
|
23
|
+
npx electerm-data-tool info
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 全局安装
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install -g electerm-data-tool
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 使用方法
|
|
33
|
+
|
|
34
|
+
### 命令总览
|
|
35
|
+
|
|
36
|
+
**npx 方式(无需安装):**
|
|
37
|
+
```bash
|
|
38
|
+
npx electerm-data-tool [command] [options]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**全局安装方式:**
|
|
42
|
+
```bash
|
|
43
|
+
electerm-data-tool [command] [options]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
可用命令:
|
|
47
|
+
|
|
48
|
+
- `migrate` - 数据库从 v1 迁移到 v2
|
|
49
|
+
- `export <path>` - 导出所有数据为 JSON 文件
|
|
50
|
+
- `info` - 显示数据库信息
|
|
51
|
+
- `--help` - 显示帮助信息
|
|
52
|
+
- `--version` - 显示版本号
|
|
53
|
+
|
|
54
|
+
### 1. 数据库迁移
|
|
55
|
+
|
|
56
|
+
将 Electerm 数据库从 v1 (NeDB) 迁移到 v2 (SQLite):
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
electerm-data-tool migrate
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
此命令将:
|
|
63
|
+
- 检查是否需要迁移
|
|
64
|
+
- 将所有 NeDB 文件数据迁移到 SQLite 数据库
|
|
65
|
+
- 备份原始 NeDB 文件(带时间戳)
|
|
66
|
+
- 执行必要的数据升级
|
|
67
|
+
|
|
68
|
+
**注意**:需要 Node.js 22.0.0 及以上版本。
|
|
69
|
+
|
|
70
|
+
### 2. 数据导出
|
|
71
|
+
|
|
72
|
+
将所有 Electerm 数据导出为包含明文密码的 JSON 文件:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
electerm-data-tool export /path/to/backup.json
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
示例:
|
|
79
|
+
```bash
|
|
80
|
+
electerm-data-tool export ~/electerm-backup-2025-09-03.json
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 3. 数据库信息
|
|
84
|
+
|
|
85
|
+
查看当前 Electerm 数据库信息:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
electerm-data-tool info
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
将显示:
|
|
92
|
+
- 数据库类型(v1 NeDB 或 v2 SQLite)
|
|
93
|
+
- 各表数据条数
|
|
94
|
+
- 如需迁移会有提示
|
|
95
|
+
|
|
96
|
+
## 数据库自动检测
|
|
97
|
+
|
|
98
|
+
工具会自动检测当前数据库类型:
|
|
99
|
+
- **v1 (NeDB)**:原始文件型数据库
|
|
100
|
+
- **v2 (SQLite)**:新版数据库(需 Node.js 22+)
|
|
101
|
+
|
|
102
|
+
导出时:
|
|
103
|
+
- 检测到 v1 用 NeDB 方式导出
|
|
104
|
+
- 检测到 v2 用 SQLite 方式导出
|
|
105
|
+
- 密码自动解密为明文
|
|
106
|
+
|
|
107
|
+
## 数据结构
|
|
108
|
+
|
|
109
|
+
导出 JSON 结构如下:
|
|
110
|
+
|
|
111
|
+
```json
|
|
112
|
+
{
|
|
113
|
+
"bookmarks": [...],
|
|
114
|
+
"bookmarkGroups": [...],
|
|
115
|
+
"terminalThemes": [...],
|
|
116
|
+
"quickCommands": [...],
|
|
117
|
+
"profiles": [...],
|
|
118
|
+
"config": {...},
|
|
119
|
+
"addressBookmarks": [...],
|
|
120
|
+
"lastStates": [...],
|
|
121
|
+
"data": [...],
|
|
122
|
+
"log": [...],
|
|
123
|
+
"dbUpgradeLog": [...]
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## 密码处理
|
|
128
|
+
|
|
129
|
+
- Electerm 内部密码为加密存储
|
|
130
|
+
- 导出时自动解密为明文
|
|
131
|
+
- 导出数据不含 `passwordEncrypted` 字段
|
|
132
|
+
- 便于备份和迁移
|
|
133
|
+
|
|
134
|
+
## 依赖要求
|
|
135
|
+
|
|
136
|
+
- **Node.js**:16.0.0 及以上
|
|
137
|
+
- **SQLite (v2)**:需 Node.js 22.0.0 及以上
|
|
138
|
+
- **依赖包**:
|
|
139
|
+
- `commander` - CLI 框架
|
|
140
|
+
- `@yetzt/nedb` - NeDB 支持
|
|
141
|
+
- `nanoid` - ID 生成
|
|
142
|
+
|
|
143
|
+
## 数据文件位置
|
|
144
|
+
|
|
145
|
+
- NeDB (v1):`~/.electerm/users/{username}/electerm.{table}.nedb`
|
|
146
|
+
- SQLite (v2):`~/.electerm/users/{username}/electerm.db`
|
|
147
|
+
|
|
148
|
+
迁移时 NeDB 文件会自动备份为:
|
|
149
|
+
- `electerm.bookmarks.nedb-{timestamp}.bak`
|
|
150
|
+
|
|
151
|
+
## 示例流程
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# 1. 查看数据库状态
|
|
155
|
+
npx electerm-data-tool info
|
|
156
|
+
|
|
157
|
+
# 2. 迁移前导出备份
|
|
158
|
+
npx electerm-data-tool export ~/electerm-backup-before-migration.json
|
|
159
|
+
|
|
160
|
+
# 3. 执行迁移
|
|
161
|
+
npx electerm-data-tool migrate
|
|
162
|
+
|
|
163
|
+
# 4. 验证迁移结果
|
|
164
|
+
npx electerm-data-tool info
|
|
165
|
+
|
|
166
|
+
# 5. 迁移后再导出一次
|
|
167
|
+
npx electerm-data-tool export ~/electerm-backup-after-migration.json
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## 常见问题
|
|
171
|
+
|
|
172
|
+
- **迁移报错/SQLite 报错**:请确认 Node.js 版本 >= 22
|
|
173
|
+
- **导出密码为乱码**:请升级到最新版工具
|
|
174
|
+
- **命令未找到**:请确认已全局安装或用 npx 运行
|
|
175
|
+
|
|
176
|
+
## 安全提示
|
|
177
|
+
|
|
178
|
+
- 导出文件包含明文密码,请妥善保存
|
|
179
|
+
- 用完请及时删除导出文件
|
|
180
|
+
- 本工具所有操作均在本地完成,不会上传数据
|
|
181
|
+
|
|
182
|
+
## 相关链接
|
|
183
|
+
|
|
184
|
+
- [Electerm 主项目](https://github.com/electerm/electerm)
|
|
185
|
+
- [English README](./README.md)
|