Este tutorial te guiará a través de los pasos necesarios para borrar todas las tablas de tu base de datos PostgreSQL alojada en RDS de AWS y comenzar desde cero. Esto es útil cuando necesitas realizar un redeploy de tu aplicación y quieres asegurarte de que la base de datos esté limpia antes de volver a aplicar las migraciones.
Paso 1: Conéctate a la Base de Datos RDS
Primero, necesitas conectarte a tu instancia de base de datos RDS. Puedes hacerlo desde tu computadora local o desde tu instancia EC2 en AWS.
Desde tu Computadora Local
Si te conectas desde tu computadora, asegúrate de que el Security Group de tu instancia RDS permita el acceso desde la IP de tu computadora. Deberás permitir el acceso al puerto PostgreSQL (por defecto 5432).
Ejecuta el siguiente comando en tu terminal para conectarte:
psql -h your-rds-endpoint.rds.amazonaws.com -U your-username -d your-database-name
Desde tu Instancia EC2
Si te conectas desde una instancia EC2, asegúrate de que tanto tu instancia EC2 como la instancia RDS estén en el mismo Security Group o de que el Security Group de RDS permita el acceso desde EC2.
Ejecuta el mismo comando para conectarte:
psql -h your-rds-endpoint.rds.amazonaws.com -U your-username -d your-database-name
Paso 2: Borrar Todas las Tablas
Una vez que estés conectado a la base de datos, necesitas borrar todas las tablas. Esto lo puedes hacer ejecutando el siguiente bloque de código SQL:
DO $$ DECLARE
r RECORD;
BEGIN
FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = current_schema()) LOOP
EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE';
END LOOP;
END $$;
Si el comando se ejecuta correctamente, deberías ver un mensaje de salida que dice “DO”. Esto indica que todas las tablas han sido eliminadas con éxito.
Paso 3: Reinicializa la Base de Datos
Después de haber eliminado todas las tablas, puedes reinicializar la base de datos. Para ello, regresa a tu entorno de desarrollo y ejecuta las migraciones de Django:
python3 manage.py migrate
Este comando volverá a crear todas las tablas necesarias según las migraciones definidas en tu proyecto Django.
Paso 4: Crea un Superuser
Finalmente, necesitas crear un superusuario para poder acceder al panel de administración de Django. Ejecuta el siguiente comando:
python3 manage.py createsuperuser
Sigue las indicaciones para crear un superusuario con las credenciales que prefieras.
Con estos pasos, habrás limpiado y reinicializado tu base de datos PostgreSQL en AWS RDS, y estarás listo para continuar con tu redeploy. ¡Buena suerte!