-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 07-09-2023 a las 20:33:49
-- Versión del servidor: 10.4.28-MariaDB
-- Versión de PHP: 8.2.4

START TRANSACTION;



--
-- Base de datos: `prestamos`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cajas`
--

CREATE TABLE `cajas` (
  `id` int(11) UNSIGNED NOT NULL,
  `monto_inicial` decimal(10,2) NOT NULL,
  `fecha_apertura` datetime NOT NULL,
  `estado` int(11) NOT NULL DEFAULT 1,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `id_usuario` int(11) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `clientes`
--

CREATE TABLE `clientes` (
  `id` int(11) UNSIGNED NOT NULL,
  `identidad` varchar(50) NOT NULL,
  `num_identidad` varchar(50) NOT NULL,
  `nombre` varchar(150) NOT NULL,
  `apellido` varchar(150) NOT NULL,
  `telefono` varchar(20) NOT NULL,
  `whatsapp` varchar(20) NOT NULL,
  `correo` varchar(150) NOT NULL,
  `direccion` text NOT NULL,
  `estado` int(11) NOT NULL DEFAULT 1,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Volcado de datos para la tabla `clientes`
--

INSERT INTO `clientes` (`id`, `identidad`, `num_identidad`, `nombre`, `apellido`, `telefono`, `whatsapp`, `correo`, `direccion`, `estado`, `created_at`, `updated_at`) VALUES
(3, 'DNI', '987654321', 'Cliente', 'Prueba', '956488745', '956488745', 'clienteprueba@gmail.com', 'Pasaje Independencia ', 1, '2023-08-30 13:32:46', '2023-09-07 13:19:05');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `configuracion`
--

CREATE TABLE `configuracion` (
  `id` int(11) UNSIGNED NOT NULL,
  `identidad` varchar(20) NOT NULL,
  `nombre` varchar(255) NOT NULL,
  `telefono` varchar(20) NOT NULL,
  `correo` varchar(150) NOT NULL,
  `direccion` text NOT NULL,
  `mensaje` text DEFAULT NULL,
  `tasa_interes` int(11) NOT NULL,
  `cuotas` int(11) NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Volcado de datos para la tabla `configuracion`
--

INSERT INTO `configuracion` (`id`, `identidad`, `nombre`, `telefono`, `correo`, `direccion`, `mensaje`, `tasa_interes`, `cuotas`, `created_at`, `updated_at`) VALUES
(1, '123456789', 'Préstamos Prueba', '123456789', 'prestamopruebas@gmail.com', 'Lima', '', 15, 18, '2023-08-30 00:22:40', '2023-09-07 13:16:48');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `detalle_prestamos`
--

CREATE TABLE `detalle_prestamos` (
  `id` int(11) UNSIGNED NOT NULL,
  `cuota` int(11) NOT NULL,
  `fecha_venc` date NOT NULL,
  `importe_cuota` decimal(10,2) NOT NULL,
  `estado` int(11) NOT NULL DEFAULT 1,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `id_prestamo` int(11) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `migrations`
--

CREATE TABLE `migrations` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `version` varchar(255) NOT NULL,
  `class` varchar(255) NOT NULL,
  `group` varchar(255) NOT NULL,
  `namespace` varchar(255) NOT NULL,
  `time` int(11) NOT NULL,
  `batch` int(11) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Volcado de datos para la tabla `migrations`
--

INSERT INTO `migrations` (`id`, `version`, `class`, `group`, `namespace`, `time`, `batch`) VALUES
(1, '2023-06-26-145832', 'App\\Database\\Migrations\\Admin', 'default', 'App', 1693372849, 1),
(2, '2023-06-26-150959', 'App\\Database\\Migrations\\Permisos', 'default', 'App', 1693372849, 1),
(3, '2023-06-26-151017', 'App\\Database\\Migrations\\Roles', 'default', 'App', 1693372849, 1),
(4, '2023-06-26-151033', 'App\\Database\\Migrations\\Usuarios', 'default', 'App', 1693372849, 1),
(5, '2023-06-26-151046', 'App\\Database\\Migrations\\Cajas', 'default', 'App', 1693372849, 1),
(6, '2023-06-26-151051', 'App\\Database\\Migrations\\Clientes', 'default', 'App', 1693372849, 1),
(7, '2023-06-26-151104', 'App\\Database\\Migrations\\Prestamos', 'default', 'App', 1693372849, 1),
(8, '2023-06-26-151116', 'App\\Database\\Migrations\\DetallePrestamos', 'default', 'App', 1693372849, 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `permisos`
--

CREATE TABLE `permisos` (
  `id` int(11) UNSIGNED NOT NULL,
  `modulo` varchar(150) NOT NULL,
  `campos` text NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Volcado de datos para la tabla `permisos`
--

INSERT INTO `permisos` (`id`, `modulo`, `campos`, `created_at`, `updated_at`) VALUES
(1, 'usuarios', '[\"listar usuarios\",\"nuevo usuario\",\"editar usuario\",\"eliminar usuario\"]', '2023-08-30 00:22:40', '2023-08-30 00:22:40'),
(2, 'configuracion', '[\"actualizar empresa\",\"backup\"]', '2023-08-30 00:22:40', '2023-08-30 00:22:40'),
(3, 'roles', '[\"listar roles\",\"nuevo rol\",\"editar rol\",\"eliminar rol\"]', '2023-08-30 00:22:40', '2023-08-30 00:22:40'),
(4, 'clientes', '[\"listar clientes\",\"nuevo cliente\",\"editar cliente\",\"eliminar cliente\"]', '2023-08-30 00:22:40', '2023-08-30 00:22:40'),
(5, 'prestamos', '[\"nuevo prestamo\",\"historial prestamos\",\"ver prestamo\",\"eliminar prestamo\",\"abono prestamo\"]', '2023-08-30 00:22:40', '2023-08-30 00:22:40'),
(6, 'cajas', '[\"ver saldo\"]', '2023-08-30 00:22:40', '2023-08-30 00:22:40'),
(7, 'reportes', '[\"pdf prestamos\",\"excel prestamos\"]', '2023-08-30 00:22:40', '2023-08-30 00:22:40');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `prestamos`
--

CREATE TABLE `prestamos` (
  `id` int(11) UNSIGNED NOT NULL,
  `importe` decimal(10,2) NOT NULL,
  `modalidad` varchar(50) NOT NULL,
  `tasa_interes` decimal(10,2) NOT NULL,
  `cuotas` int(11) NOT NULL,
  `fecha` datetime NOT NULL,
  `fecha_venc` date DEFAULT NULL,
  `estado` int(11) NOT NULL DEFAULT 1,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `id_cliente` int(11) UNSIGNED NOT NULL,
  `id_usuario` int(11) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `roles`
--

CREATE TABLE `roles` (
  `id` int(11) UNSIGNED NOT NULL,
  `nombre` varchar(150) NOT NULL,
  `permisos` text DEFAULT NULL,
  `estado` int(11) NOT NULL DEFAULT 1,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Volcado de datos para la tabla `roles`
--

INSERT INTO `roles` (`id`, `nombre`, `permisos`, `estado`, `created_at`, `updated_at`) VALUES
(1, 'ADMINISTRADOR', '[\"listar usuarios\",\"nuevo usuario\",\"editar usuario\",\"eliminar usuario\",\"actualizar empresa\",\"backup\",\"listar roles\",\"nuevo rol\",\"editar rol\",\"eliminar rol\",\"listar clientes\",\"nuevo cliente\",\"editar cliente\",\"eliminar cliente\",\"nuevo prestamo\",\"historial prestamos\",\"ver prestamo\",\"eliminar prestamo\",\"abono prestamo\",\"ver saldo\",\"pdf prestamos\",\"excel prestamos\"]', 1, '2023-08-30 00:22:40', '2023-08-30 00:22:40'),
(2, 'CAJERO', '[\"actualizar empresa\",\"nuevo prestamo\",\"historial prestamos\",\"ver prestamo\",\"eliminar prestamo\",\"abono prestamo\"]', 1, '2023-09-03 10:53:49', '2023-09-03 10:55:52');

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `cajas`
--
ALTER TABLE `cajas`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_usuario_caja` (`id_usuario`);

--
-- Indices de la tabla `clientes`
--
ALTER TABLE `clientes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `num_identidad` (`num_identidad`),
  ADD UNIQUE KEY `telefono` (`telefono`),
  ADD UNIQUE KEY `whatsapp` (`whatsapp`),
  ADD UNIQUE KEY `correo` (`correo`);

--
-- Indices de la tabla `configuracion`
--
ALTER TABLE `configuracion`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `identidad` (`identidad`),
  ADD UNIQUE KEY `telefono` (`telefono`),
  ADD UNIQUE KEY `correo` (`correo`);

--
-- Indices de la tabla `detalle_prestamos`
--
ALTER TABLE `detalle_prestamos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_prestamos` (`id_prestamo`);

--
-- Indices de la tabla `migrations`
--
ALTER TABLE `migrations`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `permisos`
--
ALTER TABLE `permisos`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `prestamos`
--
ALTER TABLE `prestamos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_clientes` (`id_cliente`),
  ADD KEY `fk_usuarios` (`id_usuario`);

--
-- Indices de la tabla `roles`
--
ALTER TABLE `roles`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `cajas`
--
ALTER TABLE `cajas`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de la tabla `clientes`
--
ALTER TABLE `clientes`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;

--
-- AUTO_INCREMENT de la tabla `configuracion`
--
ALTER TABLE `configuracion`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de la tabla `detalle_prestamos`
--
ALTER TABLE `detalle_prestamos`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18;

--
-- AUTO_INCREMENT de la tabla `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT de la tabla `permisos`
--
ALTER TABLE `permisos`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;

--
-- AUTO_INCREMENT de la tabla `prestamos`
--
ALTER TABLE `prestamos`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;

--
-- AUTO_INCREMENT de la tabla `roles`
--
ALTER TABLE `roles`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `cajas`
--
ALTER TABLE `cajas`
  ADD CONSTRAINT `fk_usuario_caja` FOREIGN KEY (`id_usuario`) REFERENCES `usuarios` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Filtros para la tabla `detalle_prestamos`
--
ALTER TABLE `detalle_prestamos`
  ADD CONSTRAINT `fk_prestamos` FOREIGN KEY (`id_prestamo`) REFERENCES `prestamos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Filtros para la tabla `prestamos`
--
ALTER TABLE `prestamos`
  ADD CONSTRAINT `fk_clientes` FOREIGN KEY (`id_cliente`) REFERENCES `clientes` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_usuarios` FOREIGN KEY (`id_usuario`) REFERENCES `usuarios` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
COMMIT;

