Configuración de MySQL para sistemas de gestión backend con el framework Gin en Go

Para establecer la base de datos necesaria en nuestro proyecto, primero debemos tener MySQL instalado. En sistemas Windows, es posible que se requieran dependiciones adicionales como el paquete redistribuible de .NET Framework 4.5.2 para una instalación exitosa.

Tras instalar el servidor de bases de datos y una herramienta de administración gráfica, procedemos a crear un nuevo esquema con codificación utf8mb4. Luego importamos el archivo de estructura SQL que generará las tablas requeridas.

A continuación se muestra un ejemplo modificado del script de inicialización de la base de datos:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

DROP TABLE IF EXISTS `usuarios_admin`;
CREATE TABLE `usuarios_admin` (
  `id_usuario` int NOT NULL AUTO_INCREMENT,
  `nombre` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `clave` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `telefono` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `correo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `activo` tinyint(1) NULL DEFAULT NULL,
  `id_perfil` int NULL DEFAULT NULL,
  `fecha_registro` int NULL DEFAULT NULL,
  `es_admin` tinyint(1) NULL DEFAULT 0,
  PRIMARY KEY (`id_usuario`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `usuarios_admin` VALUES (1, 'admin_principal', '482c811da5d5b4bc6d497ffa98491e38', '15201686400', 'admin@example.com', 1, 1, 0, 1);
INSERT INTO `usuarios_admin` VALUES (2, 'editor1', '482c811da5d5b4bc6d497ffa98491e38', '15201686401', 'editor@example.com', 1, 2, 1625097600, 0);

DROP TABLE IF EXISTS `perfiles`;
CREATE TABLE `perfiles` (
  `id_perfil` int NOT NULL AUTO_INCREMENT,
  `nombre_perfil` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `descripcion` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `habilitado` tinyint(1) NULL DEFAULT NULL,
  `fecha_creacion` int NULL DEFAULT NULL,
  PRIMARY KEY (`id_perfil`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

INSERT INTO `perfiles` VALUES (2, 'Ventas', 'Departamento de ventas', 1, 1625097600);
INSERT INTO `perfiles` VALUES (4, 'Editorial', 'Equipo editorial', 1, 1625097600);
INSERT INTO `perfiles` VALUES (9, 'Supervisión', 'Rol de supervisión general', 1, 1625097600);

DROP TABLE IF EXISTS `sesiones`;
CREATE TABLE `sesiones` (
  `id_sesion` int NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id_sesion`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

Una vez eejcutado el script, configuramos el archivo de entorno del proyecto. Crearemos un archivo config.yaml en la carpeta de configuración con los parámetros de conexión:

aplicacion:
  nombre: "Panel Administrativo"
  nivel_log: "INFO"
  ruta_admin: "/panel"

conexion_bd:
  host: "192.168.1.10"
  puerto: 3306
  usuario: "app_user"
  contrasena: "s3gur0_2023"
  esquema: "panel_gestion"

cache:
  servidor: "127.0.0.1"
  puerto: 6380

Esta cofniguración establece los parámetros necesarios para conectar la aplicación Gin con el servidor MySQL, incluyendo las credenciales de acceso y los paths de la aplicación.

Etiquetas: Gin MySQL Go Base de Datos configuracion

Publicado el 6-24 21:54