Ir al contenido

Comandos de bases de datos

Estos once comandos operan sobre Database. Todos aceptan --database / -d como cadena opcional; al omitirla usan la conexión SQL predeterminada de la aplicación. La selección es una conexión de config/database.py, no un nombre de archivo ni un driver de colas.

Los comandos de migración y seeding imprimen el progreso y dejan propagar los errores del servicio al flujo de excepciones de Reactor. No hay un --force general para las migraciones. Las operaciones de reversión y borrado pueden eliminar datos: elige la conexión expresamente cuando necesites distinguir desarrollo, pruebas u otra base.

Ejecuta los seeders pendientes.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.

Es la misma implementación que seed, con su propia firma. Usa el historial de seeders de la conexión elegida y muestra el progreso de cada seeder; no acepta un nombre de clase posicional ni --class. No vuelve a ejecutar seeders ya registrados.

Ventana de terminal
orionis db:seed --database sqlite
python -B reactor db:seed --database sqlite

Inspecciona la base y resume sus tablas.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.
--countsBandera, opcionalFalseCalcular las filas de cada tabla.
--viewsBandera, opcionalFalseIncluir el listado de vistas/materializadas.

Muestra conexión, driver, nombre, tamaño, conexiones abiertas y conteos de objetos. --counts calcula filas por tabla y puede ser costoso; --views añade el listado de vistas/materializadas. Ambas son banderas opcionales, desactivadas por defecto. La información que un motor no permite obtener se presenta como N/A.

Ventana de terminal
orionis db:show --database sqlite --counts --views
python -B reactor db:show --database sqlite --counts --views

Muestra la estructura de una tabla.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
tablestr, obligatorio—Nombre de la tabla a inspeccionar.
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.

table es una cadena posicional obligatoria. Muestra filas, tamaño, columnas, tipos, nulabilidad, defaults, clave primaria, índices y claves foráneas. El conteo de filas se realiza en esta inspección sin bandera adicional. Un nombre inválido o una tabla inexistente detectada como ValueError se informa y devuelve 1; una inspección exitosa devuelve 0.

Ventana de terminal
orionis db:table products --database sqlite
python -B reactor db:table products --database sqlite

Elimina los objetos de usuario de una base de datos.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.
--forceBandera, opcionalFalseOmitir confirmación (db:wipe) o reemplazar APP_KEY (key:generate).

--database / -d elige la conexión (por defecto la configurada). --force es una bandera, False por defecto. Sin ella pide confirmación con respuesta inicial negativa; sin TTY devuelve 1 y exige --force. Cancelar la pregunta devuelve 0 sin borrar. La operación confirmada elimina tablas, vistas y tipos de usuario según el motor; también contempla vistas materializadas/dominios donde existen. Implementa los flujos de SQLite, MySQL, PostgreSQL, Redshift, SQL Server y Oracle y rechaza otros drivers.

Tiene efectos destructivos sobre objetos de usuario, incluso los ajenos al historial de migraciones. El rollback de DDL no es uniforme entre motores. No admite --drop-views, --drop-types ni --dry-run. Una ejecución correcta devuelve 0; errores de SQL o dependencias de objetos pueden propagarse.

Ventana de terminal
orionis db:wipe --database sqlite
python -B reactor db:wipe --database sqlite

Aplica migraciones pendientes y puede ejecutar seeders.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.
--seedBandera, opcionalFalseEjecutar seeders pendientes después de migrar correctamente.

--seed es una bandera opcional (False). Primero ejecuta Migrator.migrate() y, solo después de que finalice correctamente, SeederRunner.seed() cuando se solicitó. Migraciones ya registradas no se vuelven a aplicar. Cada operación informa progreso y errores mediante sus eventos; un fallo impide continuar el flujo normal.

Ventana de terminal
orionis migrate --database sqlite --seed
python -B reactor migrate --database sqlite --seed

Reconstruye el historial y vuelve a aplicar migraciones.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.

Ejecuta el reset de las migraciones registradas, elimina las tablas de historial de migraciones/seeders y migra de nuevo. No equivale a db:wipe: no hace un barrido indiscriminado de todas las tablas de usuario. Puede perder los datos que las operaciones down() eliminan y necesita los archivos de las migraciones registradas. No tiene --seed, --force ni confirmación interactiva.

Ventana de terminal
orionis migrate:fresh --database sqlite
python -B reactor migrate:fresh --database sqlite

Revierte lotes y aplica de nuevo las migraciones pendientes.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.
--step / -sint, opcionalTodos los lotesNúmero positivo de lotes completos.

--step / -s es un entero opcional; omitido revierte todos los lotes, y si se proporciona debe ser positivo. Después llama a migrate(). La unidad son lotes, no archivos. Las operaciones de reversión pueden eliminar datos; no hay confirmación ni opción --seed.

Ventana de terminal
orionis migrate:refresh --database sqlite --step 1
python -B reactor migrate:refresh --database sqlite --step 1

Revierte todas las migraciones aplicadas.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.

Invoca down() en orden inverso para todo el historial registrado. No aplica migraciones después ni acepta --step. Un archivo faltante de una migración registrada produce MigrationNotFoundException. No hay confirmación previa.

Ventana de terminal
orionis migrate:reset --database sqlite
python -B reactor migrate:reset --database sqlite

Revierte el lote más reciente o varios lotes.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.
--step / -sint, opcional1Número positivo de lotes completos.

--step / -s es un entero opcional con valor efectivo 1; debe ser positivo. Cuenta lotes completos de migraciones, no una cantidad de archivos. No aplica de nuevo las migraciones ni solicita confirmación. Al revertir la última migración aplicada se limpia también el historial de seeders.

Ventana de terminal
orionis migrate:rollback --database sqlite --step 2
python -B reactor migrate:rollback --database sqlite --step 2

Muestra migraciones aplicadas y pendientes.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.

Descubre los archivos de migración, consulta el historial y presenta nombre, estado (Ran / Pending) y lote. Puede crear la tabla de historial si todavía no existe: inspeccionar el estado no ejecuta up(), pero sí requiere acceso a la conexión y permisos para inicializar ese historial.

Ventana de terminal
orionis migrate:status --database sqlite
python -B reactor migrate:status --database sqlite

Ejecuta los seeders pendientes.

Argumento u opciónTipo y presenciaValor efectivo al omitirPropósito
--database / -dstr, opcionalConexión predeterminadaNombre de conexión SQL; omitido usa la predeterminada.

Delega en SeederRunner.seed(connection=...), con eventos de progreso. Si no hay pendientes informa que la base ya está actualizada. No recibe opciones --force ni --class; db:seed es la otra firma de la misma operación.

Ventana de terminal
orionis seed --database sqlite
python -B reactor seed --database sqlite

Los generadores de migraciones, schemas, seeders y factories están en Generadores de código. Para diseñar archivos, tablas y datos consulta la referencia de comandos Database y Migraciones y seeders.