音乐数据v2导入导出适配

This commit is contained in:
mtvpls
2026-04-14 14:18:02 +08:00
parent ab356bf8fc
commit 1dcf27d1f8
6 changed files with 85 additions and 31 deletions
+6
View File
@@ -2236,6 +2236,12 @@ export class D1Storage implements IStorage {
'favorites',
'search_history',
'skip_configs',
'music_play_records',
'music_playlists',
'music_playlist_songs',
'music_v2_history',
'music_v2_playlists',
'music_v2_playlist_items',
'danmaku_filter_configs',
'notifications',
'movie_requests',
+6
View File
@@ -2206,6 +2206,12 @@ export class PostgresStorage implements IStorage {
'favorites',
'search_history',
'skip_configs',
'music_play_records',
'music_playlists',
'music_playlist_songs',
'music_v2_history',
'music_v2_playlists',
'music_v2_playlist_items',
'danmaku_filter_configs',
'notifications',
'movie_requests',
+17 -1
View File
@@ -1044,6 +1044,22 @@ export abstract class BaseRedisStorage implements IStorage {
}
// 删除用户的歌单列表
await this.withRetry(() => this.adapter.del(this.musicPlaylistsKey(userName)));
// 删除音乐 V2 播放记录
await this.withRetry(() => this.adapter.del(this.musicV2HistoryKey(userName)));
// 删除音乐 V2 歌单
const musicV2PlaylistIds = await this.withRetry(() =>
this.adapter.zRange(this.musicV2PlaylistsKey(userName), 0, -1)
);
if (musicV2PlaylistIds && musicV2PlaylistIds.length > 0) {
for (const playlistId of musicV2PlaylistIds) {
const id = ensureString(playlistId);
await this.withRetry(() => this.adapter.del(this.musicV2PlaylistKey(id)));
await this.withRetry(() => this.adapter.del(this.musicV2PlaylistItemsKey(id)));
}
}
await this.withRetry(() => this.adapter.del(this.musicV2PlaylistsKey(userName)));
}
// ---------- 新版用户存储(使用Hash和Sorted Set ----------
@@ -1683,7 +1699,7 @@ export abstract class BaseRedisStorage implements IStorage {
// 删除所有用户及其数据
for (const username of allUsers) {
await this.deleteUser(username);
await this.deleteUserV2(username);
}
// 删除管理员配置