Saltar al contenido

Cambiar la base de datos de desarrollo de Django del SQLite predeterminado a PostgreSQL

Solución:

Puedes probar los siguientes pasos:

1. Instale psycopg2 para configurar la base de datos:

pip install psycopg2

2. Dentro de lo predeterminado settings.py

Cambiar los valores originales:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Para:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'NAME_OF_DB',
        'USER': 'DB_USER_NAME',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',
        'PORT': 'PORT_NUMBER',
    }
}

3. Migre la base de datos:

python manage.py makemigrations
python manage.py migrate


EDITAR:
Gracias @robotHamster comentario. Este es el método para sincronizar los datos existentes:

Primero haga una copia de seguridad de los datos:

python manage.py dumpdata > datadump.json

Después de cambiar la configuración de la base de datos:

python manage.py loaddata datadump.json


Fuente: ¿Cuál es la mejor manera de migrar una base de datos Django de SQLite a MySQL?

Aquí hay un gran tutorial sobre cómo hacer esto de Django Girls

Le muestra la instalación, así como los cambios necesarios en settings.py.

cuando está cambiando la base de datos, tal vez obtenga un UNICODEERRO: ‘utf-8’

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

Después de perder más de 5 días, finalmente obtuve la solución … nunca obtendrás ese error preciso en Internet, lo descubrí yo mismo.

python manage.py dumpdata > datadump.json

luego cambie la configuración de la base de datos.py según su base de datos y luego

python manage.py makemigrations
python manage.py migrate
python manage.py loaddata datadump.json

y luego, si recibes el error, menciono:

1.Install notepad ++
2.open your datadum.json file in notepad++
3.on buttom right corner you will get the encodin will be anything else than utf-8
4.on top bar select encoding to UTF-8

estás listo para irte … luego otra vez

python manage.py loaddata datadump.json

He sufrido mucho por esto … así que dale un pulgar hacia arriba y las acciones se agradecen ¡Gracias! y para obtener más autorización, puede ver este video: https: //youtu.be/RBtEr3TXNwg

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *