1ra Versión
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
<?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()]);
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user