Cómo Borrar y Reiniciar una Base de Datos PostgreSQL en Django

En este tutorial, aprenderás cómo borrar completamente todas las tablas de tu base de datos PostgreSQL y comenzar desde cero en un proyecto Django. Este proceso es útil para pruebas o cuando necesitas limpiar tu base de datos.

Comandos para eliminar toda la base de datos

1. Conéctate a tu base de datos

Usa el siguiente comando para conectarte a tu base de datos desde la terminal:

psql -h <host> -p <port> -U <username> -d <dbname>

Reemplaza los valores con los de tu instancia de PostgreSQL.

2. Elimina todo el esquema y recrea uno vacío

Dentro de psql, ejecuta estos comandos para eliminar todo en el esquema public:

DROP SCHEMA public CASCADE;
CREATE SCHEMA public;

Estos comandos eliminarán todas las tablas, vistas, y dependencias en el esquema public y lo recrearán vacío.

3. Verifica que el esquema esté limpio

Confirma que no hay tablas ejecutando:

\dt

El resultado debería ser: No relations found.

Pasos para reiniciar la base de datos en Django

1. Aplica las migraciones

Ejecuta este comando para que Django cree las tablas nuevamente:

python3 manage.py migrate

2. Crea un superusuario

Después de aplicar las migraciones, crea un superusuario para acceder al admin de Django:

python3 manage.py createsuperuser

3. Carga datos de prueba (opcional)

Si tienes fixtures con datos de prueba, puedes cargarlos ejecutando:

python3 manage.py loaddata <fixture_name>.json

Resumen de comandos

Para eliminar y reiniciar tu base de datos PostgreSQL:

-- Eliminar todo el contenido del esquema public
DROP SCHEMA public CASCADE;

-- Recrear el esquema public vacío
CREATE SCHEMA public;

-- Confirmar que el esquema está limpio
\dt

Notas adicionales

  • Respaldo: Antes de realizar estos cambios, asegúrate de tener un respaldo de tu base de datos.
  • Entorno correcto: Verifica que estás conectado a la base de datos adecuada antes de ejecutar los comandos.

¡Espero que este tutorial te sea útil! Si tienes dudas o comentarios, no dudes en compartirlos.