Skip to content

Commit 8eb1c56

Browse files
committed
feat: bump to v0.6.0 with savedata auto-backup and database migration system
Major Features: - Add automatic savedata backup system with manual backup support - Implement database auto-migration system for seamless version upgrades - Add comprehensive backup management UI in game detail pages - Add database backup functionality in settings page Database: - Use Tauri-plugin-sql to get Automatic migration support - Add new database tables: savedata - Create migration SQL files for cross-version database upgrades - Add savedata backup records tracking in database - Optimize database initialization logic with existence detection Game Monitoring & Backup: - Enhance game monitoring with better process selection algorithm - Add smart PID selection (focused window > visible window > first found) - Implement automatic savedata backup on game session end - Support backup history viewing and deletion
1 parent 80bd988 commit 8eb1c56

32 files changed

Lines changed: 1577 additions & 238 deletions

README.ja_JP.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -33,36 +33,36 @@
3333

3434
- Rust
3535

36-
## Todo
37-
38-
- [x] Add exe to Launch games
39-
- [x] Open the local game folder
40-
- [x] Home page functions
41-
- [x] Add VNDB api to search games
42-
- [x] I18n support
43-
- [ ] Custom data of games
44-
- [x] Count the time spent playing
45-
- [ ] Beautify individual pages
46-
- [x] Design the detail page
47-
- [x] Refactor database queries
48-
- [x] Add mixed api to search games
49-
- [x] Edit page functions
50-
- [ ] Auto backup function
51-
- [ ] Sync games status with Bangumi
52-
53-
54-
## Demo Versions
55-
56-
##### Frontend Demo
57-
- Try the web version: [https://reina.huoshen80.top](https://reina.huoshen80.top)
58-
59-
##### Desktop Application Demo
60-
- Download the latest build from GitHub Actions:
61-
1. Go to [Actions page](https://github.com/huoshen80/ReinaManager/actions/workflows/build.yml)
62-
2. Click on the most recent successful workflow run
63-
3. Scroll down to the "Artifacts" section
64-
4. Download the artifact you want
65-
66-
## License
67-
68-
This project is licensed under the [AGPL-3.0 license](https://github.com/huoshen80/ReinaManager#AGPL-3.0-1-ov-file)
36+
37+
## やることリスト(Todo)
38+
39+
- [x] exeを追加してゲームを起動
40+
- [x] ローカルゲームフォルダを開く
41+
- [x] ホームページ機能
42+
- [x] VNDB APIでゲーム検索
43+
- [x] 多言語対応(I18n)
44+
- [ ] ゲームのカスタムデータ
45+
- [x] プレイ時間の計測
46+
- [ ] 各ページの美化
47+
- [x] 詳細ページのデザイン
48+
- [x] データベースクエリのリファクタリング
49+
- [x] Mixed APIでゲーム検索
50+
- [x] 編集ページ機能
51+
- [x] 自動バックアップ機能
52+
- [ ] Bangumiとゲームステータスの同期
53+
54+
## デモバージョン
55+
56+
##### フロントエンドデモ
57+
- Web版を試す: [https://reina.huoshen80.top](https://reina.huoshen80.top)
58+
59+
##### デスクトップアプリデモ
60+
- 最新ビルドはGitHub Actionsからダウンロードできます:
61+
1. [Actionsページ](https://github.com/huoshen80/ReinaManager/actions/workflows/build.yml)へアクセス
62+
2. 最新の成功したワークフローをクリック
63+
3. "Artifacts"セクションまでスクロール
64+
4. 必要なアーティファクトをダウンロード
65+
66+
## ライセンス
67+
68+
本プロジェクトは [AGPL-3.0 ライセンス](https://github.com/huoshen80/ReinaManager#AGPL-3.0-1-ov-file) の下で公開されています。

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ The `Reina` in the name is the character <a href="https://vndb.org/c64303"><b>
4747
- [x] Refactor database queries
4848
- [x] Add mixed api to search games
4949
- [x] Edit page functions
50-
- [ ] Auto backup function
50+
- [x] Auto backup function
5151
- [ ] Sync games status with Bangumi
5252

5353

README.zh_CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
- [x] 重构数据库查询
4848
- [x] 添加混合API搜索游戏
4949
- [x] 编辑页面功能
50-
- [ ] 自动备份功能
50+
- [x] 自动备份功能
5151
- [ ] 与Bangumi同步游戏状态
5252

5353

README.zh_TW.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
- [x] 重構數據庫查詢
4848
- [x] 添加混合API搜尋遊戲
4949
- [x] 編輯頁面功能
50-
- [ ] 自動備份功能
50+
- [x] 自動備份功能
5151
- [ ] 與Bangumi同步遊戲狀態
5252

5353

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "reinamanager",
33
"private": true,
4-
"version": "0.5.6",
4+
"version": "0.6.0",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

src-tauri/Cargo.lock

Lines changed: 80 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ReinaManager"
3-
version = "0.5.6"
3+
version = "0.6.0"
44
description = "A lightweight visual novel manager"
55
authors = ["huoshen80"]
66
license = "GNU AFFERO GENERAL PUBLIC LICENSE"
@@ -28,6 +28,8 @@ tauri-plugin-sql = { version = "2", features = ["sqlite"] }
2828
tauri-plugin-fs = "2"
2929
tauri-plugin-shell = "2"
3030
sysinfo = "0.29.11"
31+
sevenz-rust = "0.6.0"
32+
chrono = { version = "0.4", features = ["serde"] }
3133
[target.'cfg(target_os = "windows")'.dependencies]
3234
windows = { version = "0.58", features = [
3335
"Win32_Foundation",
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
-- 迁移 1: 数据库升级支持
2+
-- 版本: 1
3+
-- 描述: 为现有数据库添加缺失的列和表,用于升级旧版本数据库
4+
5+
-- ========================================
6+
-- 数据库升级支持(添加缺失的列和表)
7+
-- ========================================
8+
9+
-- 为现有games表添加可能缺失的列(忽略已存在的错误)
10+
ALTER TABLE games ADD COLUMN savepath TEXT;
11+
ALTER TABLE games ADD COLUMN autosave INTEGER DEFAULT 0;
12+
13+
-- 为现有user表添加可能缺失的列
14+
ALTER TABLE user ADD COLUMN save_root_path TEXT;
15+
16+
-- 创建可能缺失的新表(如果不存在)
17+
CREATE TABLE IF NOT EXISTS savedata (
18+
id INTEGER PRIMARY KEY AUTOINCREMENT,
19+
game_id INTEGER NOT NULL,
20+
file TEXT NOT NULL,
21+
backup_time INTEGER NOT NULL,
22+
file_size INTEGER NOT NULL,
23+
created_at INTEGER DEFAULT (strftime('%s', 'now')),
24+
FOREIGN KEY(game_id) REFERENCES games(id)
25+
);
26+
27+
-- 添加索引以提高查询性能
28+
CREATE INDEX IF NOT EXISTS idx_games_autosave ON games(autosave);
29+
CREATE INDEX IF NOT EXISTS idx_savedata_game_id ON savedata(game_id);
30+
CREATE INDEX IF NOT EXISTS idx_savedata_backup_time ON savedata(backup_time);
31+
CREATE INDEX IF NOT EXISTS idx_game_sessions_game_id ON game_sessions(game_id);
32+
CREATE INDEX IF NOT EXISTS idx_game_sessions_date ON game_sessions(date);

src-tauri/src/backup/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pub mod savedata;

0 commit comments

Comments
 (0)