fix: pms tables should auto reload (#1565)

This commit is contained in:
zk
2026-05-23 14:19:39 +01:00
committed by GitHub
parent ae5e72aa89
commit 2703990c96
4 changed files with 15 additions and 14 deletions
+12 -9
View File
@@ -284,22 +284,23 @@ export const BMS_TABLES: Array<BMSTableInfo> = [
description: "16th Chordstream table, sl0-sl12 difficulty",
},
// PMS `tableFolders` keys (seeds/folders.json); no public table URL.
{
name: "PMS ● (controller)",
game: "pms-controller",
prefix: "●",
asciiPrefix: "pmsCircle",
description: "PMS tableFolders key ● (dan / level charts).",
url: "https://github.com/TachiServices/Tachi",
description: "The Insane PMS table (PASTORAL). This table starts around pop'n level 46.",
url: "https://pmsdifficulty.xxxxxxxx.jp/_pastoral_insane_table.html",
colour: COLOUR_SET.red,
},
{
name: "PMS P● (controller)",
game: "pms-controller",
prefix: "P●",
asciiPrefix: "pmsPStar",
description: "PMS tableFolders key P●.",
url: "https://github.com/TachiServices/Tachi",
description: "The PMS Database insane table. Contains almost every PMS file at Lv46+.",
url: "https://pmsdifficulty.xxxxxxxx.jp/insane_PMSdifficulty.html",
colour: COLOUR_SET.maroon,
},
{
name: "PMS PLv (controller)",
@@ -314,16 +315,18 @@ export const BMS_TABLES: Array<BMSTableInfo> = [
game: "pms-keyboard",
prefix: "●",
asciiPrefix: "pmsCircle",
description: "PMS tableFolders key ● (dan / level charts).",
url: "https://github.com/TachiServices/Tachi",
description: "The Insane PMS table (PASTORAL). This table starts around pop'n level 46.",
url: "https://pmsdifficulty.xxxxxxxx.jp/_pastoral_insane_table.html",
colour: COLOUR_SET.red,
},
{
name: "PMS P● (keyboard)",
game: "pms-keyboard",
prefix: "P●",
asciiPrefix: "pmsPStar",
description: "PMS tableFolders key P●.",
url: "https://github.com/TachiServices/Tachi",
description: "The PMS Database insane table. Contains almost every PMS file at Lv46+.",
url: "https://pmsdifficulty.xxxxxxxx.jp/insane_PMSdifficulty.html",
colour: COLOUR_SET.maroon,
},
{
name: "PMS PLv (keyboard)",
-1
View File
@@ -5,7 +5,6 @@ export { type priv_svc_cg_card_info_service, type default as PrivSvcCgCardInfoTa
export { type score_rederive_chart_id, type default as ScoreRederiveTable, type ScoreRederive, type NewScoreRederive, type ScoreRederiveUpdate } from './public/ScoreRederive';
export { type class_achievement_row_id, type default as ClassAchievementTable, type ClassAchievement, type NewClassAchievement, type ClassAchievementUpdate } from './public/ClassAchievement';
export { type account_id, type default as AccountTable, type Account, type NewAccount, type AccountUpdate } from './public/Account';
export { type import_timestop_import_type, type default as ImportTimestopTable, type ImportTimestop, type NewImportTimestop, type ImportTimestopUpdate } from './public/ImportTimestop';
export { type import_tracker_import_id, type default as ImportTrackerTable, type ImportTracker, type NewImportTracker, type ImportTrackerUpdate } from './public/ImportTracker';
export { type default as SvcFerSettingsTable, type SvcFerSettings, type NewSvcFerSettings, type SvcFerSettingsUpdate } from './public/SvcFerSettings';
export { type default as InviteLockTable, type InviteLock, type NewInviteLock, type InviteLockUpdate } from './public/InviteLock';
@@ -5,7 +5,6 @@ import type { default as PrivSvcCgCardInfoTable } from './PrivSvcCgCardInfo';
import type { default as ScoreRederiveTable } from './ScoreRederive';
import type { default as ClassAchievementTable } from './ClassAchievement';
import type { default as AccountTable } from './Account';
import type { default as ImportTimestopTable } from './ImportTimestop';
import type { default as ImportTrackerTable } from './ImportTracker';
import type { default as SvcFerSettingsTable } from './SvcFerSettings';
import type { default as InviteLockTable } from './InviteLock';
@@ -79,8 +78,6 @@ export default interface PublicSchema {
account: AccountTable;
import_timestop: ImportTimestopTable;
import_tracker: ImportTrackerTable;
svc_fer_settings: SvcFerSettingsTable;
@@ -18,6 +18,7 @@ import {
type BMSTableInfo,
type ChartDocument,
type ChartDocumentData,
GameToGameGroup,
} from "tachi-common";
const UPDATE_CHUNK = 500;
@@ -110,6 +111,7 @@ async function ImportTableLevels(
prefix: string,
game: BMSGames,
) {
const gameGroup = GameToGameGroup(game);
let failures = 0;
let success = 0;
const total = tableEntries.length;
@@ -191,7 +193,7 @@ async function ImportTableLevels(
: sql`jsonb_set(data::jsonb, '{tableString}', to_jsonb(${tableString}::text))`,
})
.where("song.id", "=", chart.song.id)
.where("song.game_group", "=", "bms")
.where("song.game_group", "=", gameGroup)
.execute();
success++;