davigldom / EGC-1030-davigldom

This is a placeholder for the EGC exam at 10:30
GNU Affero General Public License v3.0
0 stars 0 forks source link

Error al realizar las migraciones de la BD #1

Closed davigldom closed 5 years ago

davigldom commented 5 years ago

Descripción del error

Al intentar realizar las migraciones de la base de datos, para inicializar Decide en local, se devuelve un error de sintaxis en el fichero "manage.py".

Pasos para reproducir el error

  1. Descargue el repositorio mediante el comando git clone https://github.com/davigldom/EGC-1030-davigldom.git.
  2. Copie dentro de la carpeta "decide" de su repositorio local el fichero "local_settings.py" que encontrará en el último apartado de esta incidencia.
  3. Ejecute el comando python3 manage.py migrate en la carpeta "decide".
  4. Mire el error que devuelve el comando del punto anterior.

Resultado obtenido

Se devuelve el siguiente error: imagen

Salida esperada

La salida esperada era que se realizacen las migraciones de la base de datos o que devolviera un aviso pidiendo que se ejecute antes el comando python3 manage.py makemigrations.

Sistema operativo

Se ha probado en Debian 7.3.0-17.

Versión del software

Django 2.0, Python 3.6 y la aplicación "Decide" de este repositorio en la versión pertenciente al commit 4e5e2946859b82ea02b9dc8cca7c84abbbf86b14.

Información adicional

Se adjunta el código del fichero "local_settings.py" para su uso en el paso 2 para reproducir el error:

ALLOWED_HOSTS = ["*"]

# Modules in use, commented modules that you won't use
MODULES = [
    'authentication',
    'base',
    'booth',
    'census',
    'mixnet',
    'postproc',
    'store',
    'visualizer',
    'voting',
]

APIS = {
    'authentication': 'http://localhost:8000',
    'base': 'http://localhost:8000',
    'booth': 'http://localhost:8000',
    'census': 'http://localhost:8000',
    'mixnet': 'http://localhost:8000',
    'postproc': 'http://localhost:8000',
    'store': 'http://localhost:8000',
    'visualizer': 'http://localhost:8000',
    'voting': 'http://localhost:8000',
}

BASEURL = 'http://localhost:8000'

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'decide',
        'USER': 'decide',
        'PASSWORD': 'decide',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

# number of bits for the key, all auths should use the same number of bits
KEYBITS = 256

STATIC_URL = '/static/'
davigldom commented 5 years ago

El error se encontraba en la línea 5 del fichero "manage.py". Para solucionarlo, dicha línea debe quedar de la siguiente forma: if __name__ == "__main__":

Por otro lado, tras solucionar dicho error, se reportaba un problema con las migraciones, las cuales se habían corrompido y devolvían el siguiente error: imagen

Como solución, simplemente había que borrar las migraciones existentes con los siguientes comandos:

find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc"  -delete

Tras ello, se podían realizar las migraciones normalmente mediante los comandos python3 manage.py makemigrations y python3 manage.py migrate.

Todo ello está solucionado en el commit d796f9cece76b14989701549b16fc52b98b36e58.

davigldom commented 5 years ago

Procedo a cerrar la incidencia ya que todo se ha solucionado correctamente.