Migraciones
Migraciones
Section titled “Migraciones”Las migraciones son opcionales en jsorm. Si la base de datos ya existe, puedes conectarte y usar modelos de inmediato.
Define un migration source
Section titled “Define un migration source”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);Por qué importa que sean opcionales
Section titled “Por qué importa que sean opcionales”- 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
Buenas prácticas
Section titled “Buenas prácticas”- Mantén los archivos de migración pequeños y ordenados.
- Usa SQL
downexplícito cuando un paso no sea reversible automáticamente. - Trata comandos destructivos como operaciones sensibles al entorno.