• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

924
Views
Migración de Django: django.db.utils.OperationalError: (1824, "Error al abrir la tabla a la que se hace referencia 'classroom_user'")

Estoy tratando de implementar una aplicación Django desde un servidor de desarrollo a un servidor de producción. Configuré un virtualenv con python 3.8.10, creé la base de datos mysql, estoy ejecutando en virtualenv. No obtengo errores de python manage.py check , obtengo "no se detectan cambios" cuando python manage.py makemigrations , pero cuando ejecuto ```python manage.py migrate`` obtengo lo siguiente:

Operaciones a realizar:
Aplicar todas las migraciones: administrador, autenticación, tipos de contenido, sesiones
Ejecutando migraciones:
Aplicando contenttypes.0001_initial... Aceptar
Aplicando admin.0001_initial... Rastreo (última llamada más reciente):...

línea final del rastreo:

Django.db.utils.OperationalError: (1824, "Error al abrir la tabla de referencia 'classroom_user'")

("aula" es el nombre de la aplicación dentro del proyecto "códice") Recientemente reconstruí todas las tablas en esta base de datos en mi servidor de desarrollo sin problemas.
La base de datos del servidor de producción está vacía. models.py está en su lugar y completo. Lo probé con una carpeta de migraciones vacía y la carpeta de migraciones eliminada. La migración crea django_admin_log, django_content_types, django_migrations, pero ninguna otra tabla.

Todas las otras publicaciones que he visto en esto han sido sobre restricciones de clave externa, pero en mis models.py todas las tablas que tienen claves externas se especifican después de las tablas donde están las claves.

about 3 years ago · Santiago Trujillo
2 answers
Answer question

0

Vale, solucionado.
Pude obtener un error diferente con una versión ligeramente anterior de Django (3.2.6 en lugar de 3.2.8) y en un servidor de Windows en lugar de Linux. Esto me dio un error con respecto a las restricciones de clave externa que he visto en otras publicaciones, pero no era un error que hubiera visto antes.

Primero tuve que realizar las migraciones para mi aplicación (donde el aula es la aplicación dentro del proyecto):
python manage.py makemigrations classroom
python manage.py migrate

about 3 years ago · Santiago Trujillo Report

0

¡Esto funcionó para mí! Intente verificar su tabla ENGINE con este comando:

MySQL: SHOW TABLE STATUS WHERE NAME='XXX';

Luego busque su motor (es MyISAM en InnoDB ). Después de eso, cambie el motor de su tabla recién creada (que arroja el error) y hágalo coincidir con su tabla de classroom_user con este comando:

MySQL: ALTER TABLE classroom_user ENGINE='XXXX';

Luego ejecuta la migrate de nuevo y ¡listo!

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error