Skip to content

Migraciones

Las migraciones son opcionales en jsorm. Si la base de datos ya existe, puedes conectarte y usar modelos de inmediato.

import {
addColumn,
createTable,
defineMigration,
defineMigrationSource,
migrate,
t,
} from 'jsorm';
import { pgAdapter } from 'jsorm-pg';
const initUsers = defineMigration('init-users', [createTable(User)]);
const addActive = defineMigration('add-user-active', [
addColumn('users', 'isActive', t.boolean().default(true).index()),
]);
const source = defineMigrationSource({
adapter: pgAdapter({
name: 'main',
connectionString: process.env.DATABASE_URL!,
}),
migrations: [initUsers, addActive],
migrationTable: 'jsorm_migrations',
});
await migrate(source);
  • bases de datos legadas se incorporan más rápido
  • el equipo puede adoptar la capa de consultas antes que la automatización de esquema
  • la seguridad de runtime queda separada de la evolución del esquema
  1. Mantén los archivos de migración pequeños y ordenados.
  2. Usa SQL down explícito cuando un paso no sea reversible automáticamente.
  3. Trata comandos destructivos como operaciones sensibles al entorno.