Script para DB local - AnimatiWA/AnimatiPracticasProfesionalizante GitHub Wiki

💾 Creación de la base de datos tiendaanimati_bd

Para configurar la base de datos de Animati de forma local, se debe tener MySQL o MariaDB instalado. En el archivo settings.py del proyecto Django, agregar la siguiente configuración:

    'default': {
       'ENGINE': 'django.db.backends.mysql',
       'NAME': 'tiendaanimati_bd',  # o el nombre que prefieras
       'USER': 'root',
       'PASSWORD': 'root',          # reemplazá si tu usuario tiene otra contraseña
       'HOST': 'localhost',
       'PORT': '3306',
       'OPTIONS': {
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
        }
    }
}

⚙️ Comandos para migrar y poblar la base de datos

Una vez configurado el archivo settings.py, ejecutar:

python manage.py migrate

Para insertar los permisos, grupos y usuarios:

python manage.py loaddata initial_data.json  

O

python manage.py createsuperuser 

📜 Descripción

Este script crea las tablas necesarias para el sistema TiendaAnimati, incluyendo:

  • Gestión de usuarios y grupos.
  • Carritos y productos dentro del carrito.
  • Formularios de contacto.
  • Tokens de recuperación de contraseña.
  • Categorías, productos y clientes.
  • Tablas de autenticación y sesiones.
  • Tabla auth_permission pre-cargada con los permisos por modelo.

📥 Script SQL Se puede importar el archivo .sql completo desde phpMyAdmin o con el siguiente comando:

mysql -u root -p tiendaanimati_bd < script_animati.sql

⚠️ Importante: si ya existen migraciones aplicadas o tablas creadas, puede haber conflictos de llaves foráneas. Recomendamos correr el script sobre una base vacía o deshabilitar temporalmente las restricciones.

⚠️ Consideraciones

  • El script contiene DROP TABLE IF EXISTS, por lo tanto, elimina las tablas si ya existen.
  • Las imágenes o rutas de archivos deben gestionarse desde el sistema de archivos o usando campos ImageField en Django si corresponde.
  • Las claves foráneas están activas, asegurese del orden correcto al insertar datos.
  • El motor de base de datos utilizado es InnoDB con codificación latin1_swedish_ci.