Quitar el prefijo home_ de las 41 tablas del portal
El prefijo venía del nombre de la app Django (`home`), jubilada y borrada hoy, así que ya no significaba nada: home_stripelog -> stripelog. La BD se sigue llamando django_wow por historia (renombrarla es otra operación). Comprobado antes de tocar nada: 0 colisiones con nombres existentes, 0 palabras reservadas (contrastado contra las 260 de MySQL), sin vistas ni triggers que dependieran de ellas. El RENAME va en una sola sentencia porque así es atómico, y MySQL reapunta solo las 4 claves ajenas entre estas tablas. 170 referencias actualizadas en 37 ficheros. Se dejó a propósito sql/drop_home_securitytoken_authuser_fk.sql sin tocar: es una migración ya aplicada y reescribirla sería falsear el historial. De paso salió un fallo previo: prices.ts consultaba `home_restoreitemprice`, una tabla que NO existe. El try/catch de priceFrom se comía el error y devolvía siempre el precio por defecto, así que el precio de restaurar objetos nunca fue configurable. Se deja documentado en el código; crear la tabla es otra decisión. Verificado tras aplicar: 0 tablas home_, las 51 siguen ahí, y el conteo exacto de filas cuadra con el volcado previo (store_item 3068, item_data 44873, stripelog 35, store_order 26, noticia 50). La web responde 200 en todas las rutas y la portada carga las noticias sin errores. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -54,7 +54,7 @@ function generateCode(): string {
|
||||
async function expireOldCodes(): Promise<void> {
|
||||
try {
|
||||
await db(DB.default).query(
|
||||
"UPDATE home_tradecode SET status = 'expired' WHERE status = 'active' AND expires_at <= NOW()",
|
||||
"UPDATE tradecode SET status = 'expired' WHERE status = 'active' AND expires_at <= NOW()",
|
||||
)
|
||||
} catch {
|
||||
/* ignore */
|
||||
@@ -102,12 +102,12 @@ export async function createTradeCode(params: {
|
||||
// para no poder crear códigos que no se puedan respaldar.
|
||||
try {
|
||||
const [bal] = await db(DB.default).query<RowDataPacket[]>(
|
||||
'SELECT dp FROM home_api_points WHERE accountID = ?',
|
||||
'SELECT dp FROM api_points WHERE accountID = ?',
|
||||
[creatorAccount],
|
||||
)
|
||||
const balance = bal[0] ? Number(bal[0].dp) : 0
|
||||
const [act] = await db(DB.default).query<RowDataPacket[]>(
|
||||
"SELECT COALESCE(SUM(points), 0) AS reserved FROM home_tradecode WHERE creator_account = ? AND status = 'active' AND expires_at > NOW()",
|
||||
"SELECT COALESCE(SUM(points), 0) AS reserved FROM tradecode WHERE creator_account = ? AND status = 'active' AND expires_at > NOW()",
|
||||
[creatorAccount],
|
||||
)
|
||||
const reserved = Number(act[0]?.reserved ?? 0)
|
||||
@@ -120,7 +120,7 @@ export async function createTradeCode(params: {
|
||||
const expiresAt = new Date(Date.now() + CODE_TTL_MS)
|
||||
try {
|
||||
await db(DB.default).query(
|
||||
`INSERT INTO home_tradecode
|
||||
`INSERT INTO tradecode
|
||||
(code, creator_account, creator_character, points, gold, status, created_at, expires_at)
|
||||
VALUES (?, ?, ?, ?, ?, 'active', NOW(), ?)`,
|
||||
[code, creatorAccount, creatorCharacter, points, gold, expiresAt],
|
||||
@@ -138,7 +138,7 @@ export async function checkTradeCode(code: string): Promise<{ success: boolean;
|
||||
await expireOldCodes()
|
||||
try {
|
||||
const [rows] = await db(DB.default).query<RowDataPacket[]>(
|
||||
"SELECT points, gold, status, expires_at FROM home_tradecode WHERE code = ? LIMIT 1",
|
||||
"SELECT points, gold, status, expires_at FROM tradecode WHERE code = ? LIMIT 1",
|
||||
[trimmed],
|
||||
)
|
||||
const row = rows[0]
|
||||
@@ -175,7 +175,7 @@ export async function redeemTradeCode(params: {
|
||||
// Bloqueo de 5 s: la cuenta no puede canjear si acaba de canjear otro código.
|
||||
try {
|
||||
const [recent] = await db(DB.default).query<RowDataPacket[]>(
|
||||
`SELECT id FROM home_tradecode
|
||||
`SELECT id FROM tradecode
|
||||
WHERE redeemer_account = ? AND redeemed_at > (NOW() - INTERVAL ? SECOND) LIMIT 1`,
|
||||
[buyerAccount, REDEEM_LOCK_SECONDS],
|
||||
)
|
||||
@@ -193,7 +193,7 @@ export async function redeemTradeCode(params: {
|
||||
let gold = 0
|
||||
try {
|
||||
const [rows] = await db(DB.default).query<RowDataPacket[]>(
|
||||
"SELECT creator_account, creator_character, points, gold, status, expires_at FROM home_tradecode WHERE code = ? LIMIT 1",
|
||||
"SELECT creator_account, creator_character, points, gold, status, expires_at FROM tradecode WHERE code = ? LIMIT 1",
|
||||
[trimmedCode],
|
||||
)
|
||||
const row = rows[0]
|
||||
@@ -223,7 +223,7 @@ export async function redeemTradeCode(params: {
|
||||
let claimed = false
|
||||
try {
|
||||
const [res] = await db(DB.default).query<ResultSetHeader>(
|
||||
`UPDATE home_tradecode
|
||||
`UPDATE tradecode
|
||||
SET status = 'redeemed', redeemer_account = ?, redeemer_character = ?, redeemed_at = NOW()
|
||||
WHERE code = ? AND status = 'active' AND expires_at > NOW()`,
|
||||
[buyerAccount, buyerCharacter, trimmedCode],
|
||||
@@ -237,7 +237,7 @@ export async function redeemTradeCode(params: {
|
||||
const revertClaim = async () => {
|
||||
try {
|
||||
await db(DB.default).query(
|
||||
"UPDATE home_tradecode SET status = 'active', redeemer_account = NULL, redeemer_character = NULL, redeemed_at = NULL WHERE code = ?",
|
||||
"UPDATE tradecode SET status = 'active', redeemer_account = NULL, redeemer_character = NULL, redeemed_at = NULL WHERE code = ?",
|
||||
[trimmedCode],
|
||||
)
|
||||
} catch {
|
||||
|
||||
Reference in New Issue
Block a user