Files
wordpress-theme-aksrt/inc/classes/class-aksrt-db-migrator.php
T
kate522 8e0f9d989d feat(user-center): add cash wallet balance separate from credits
Introduce AKSRT_Balance (user_meta aksrt_balance + balance_log) for
Zibll-like pay_balance wallet. User center assets panel shows wallet
and points; balance gateway/card-pass/refunds credit cash when enabled.
2026-07-16 13:44:37 +08:00

53 lines
1.4 KiB
PHP

<?php
/**
* AKSRT DB Migrator
*
* Maintains runtime tables (credits / download tokens / shop / forum support, etc.).
* Schema only via dbDelta — no option/data migration, no legacy option dual-write.
*
* Trigger:
* 1. after_switch_theme
* 2. admin_init when aksrt_db_schema_version !== SCHEMA_VERSION
*
* @package AKSRT
*/
defined('ABSPATH') || exit;
class AKSRT_DB_Migrator {
use AKSRT_DB_Migrator_Part_2;
use AKSRT_DB_Migrator_Part_3;
/** Current schema version; changing it re-runs dbDelta. */
const SCHEMA_VERSION = '1.15.0';
const OPT_KEY = 'aksrt_db_schema_version';
/**
* Historical flag still readable by older code paths.
* Plate CPT is now native when registered; prefer post_type_exists().
*/
const OPT_PLATE_CPT_MIGRATED = 'aksrt_plate_cpt_migrated';
/**
* Register hooks.
*/
public static function init(): void {
add_action('after_switch_theme', [self::class, 'maybe_migrate']);
add_action('admin_init', [self::class, 'maybe_migrate']);
}
/**
* Run table schema upgrade when version mismatches.
*/
public static function maybe_migrate(): void {
$current = get_option(self::OPT_KEY, '');
if ($current === self::SCHEMA_VERSION) {
return;
}
self::run();
update_option(self::OPT_KEY, self::SCHEMA_VERSION);
}
}