52 lines
1.9 KiB
PHP
52 lines
1.9 KiB
PHP
<?php
|
|
require_once 'conexion.php';
|
|
|
|
try {
|
|
// Verificar y agregar las columnas necesarias a la tabla gastos
|
|
$columnas_necesarias = [
|
|
'Sueldo' => 'DECIMAL(10,2) DEFAULT 0',
|
|
'Luz' => 'DECIMAL(10,2) DEFAULT 0',
|
|
'Agua' => 'DECIMAL(10,2) DEFAULT 0',
|
|
'Impuestos' => 'DECIMAL(10,2) DEFAULT 0'
|
|
];
|
|
|
|
foreach ($columnas_necesarias as $nombre_columna => $tipo_columna) {
|
|
// Verificar si la columna existe
|
|
$result = $conexion->query("SHOW COLUMNS FROM gastos LIKE '$nombre_columna'");
|
|
|
|
if ($result->num_rows === 0) {
|
|
// Si no existe, agregarla
|
|
$sql = "ALTER TABLE gastos ADD COLUMN `$nombre_columna` $tipo_columna";
|
|
if ($conexion->query($sql)) {
|
|
echo "✓ Columna '$nombre_columna' agregada correctamente\n";
|
|
} else {
|
|
throw new Exception("Error al agregar columna '$nombre_columna': " . $conexion->error);
|
|
}
|
|
} else {
|
|
echo "✓ Columna '$nombre_columna' ya existe\n";
|
|
}
|
|
}
|
|
|
|
// Verificar que haya al menos un registro de gastos
|
|
$result = $conexion->query("SELECT COUNT(*) as count FROM gastos");
|
|
$count = $result->fetch_assoc()['count'];
|
|
|
|
if ($count === 0) {
|
|
// Insertar un registro de gasto por defecto si no existe
|
|
$sql = "INSERT INTO gastos (Periodo_Desde, Periodo_Hasta, Sueldo, Luz, Agua, Impuestos)
|
|
VALUES (CURDATE(), NULL, 0, 0, 0, 0)";
|
|
if ($conexion->query($sql)) {
|
|
echo "✓ Registro de gasto inicial creado\n";
|
|
} else {
|
|
throw new Exception("Error al crear registro inicial: " . $conexion->error);
|
|
}
|
|
}
|
|
|
|
echo "\n✓ Migración de gastos completada exitosamente\n";
|
|
echo json_encode(['success' => true, 'message' => 'Migración completada']);
|
|
|
|
} catch (Exception $e) {
|
|
echo json_encode(['success' => false, 'error' => $e->getMessage()]);
|
|
}
|
|
?>
|