UNPKG

db-migrate-cli

Version:

A CLI tool for managing database migrations

42 lines (36 loc) 1.41 kB
const Migration = require("./src/migration"); const sql = `-- UP CREATE TABLE users ( id VARCHAR(36) PRIMARY KEY DEFAULT uuid(), phone VARCHAR(20) UNIQUE NOT NULL, name VARCHAR(255), dob DATE, gender ENUM('male', 'female', 'other'), fluency_level ENUM('beginner', 'intermediate', 'advanced'), last_login_at TIMESTAMP NULL DEFAULT NULL, onboarding_at TIMESTAMP NULL DEFAULT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); CREATE TABLE temp_users ( id VARCHAR(36) PRIMARY KEY DEFAULT uuid(), phone VARCHAR(20) UNIQUE NOT NULL, name VARCHAR(255), dob DATE, gender ENUM('male', 'female', 'other'), fluency_level ENUM('beginner', 'intermediate', 'advanced'), last_login_at TIMESTAMP NULL DEFAULT NULL, onboarding_at TIMESTAMP NULL DEFAULT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); -- DOWN DROP TABLE IF EXISTS users; DROP TABLE IF EXISTS temp_users; `; const migration = new Migration(); const { sql: upSql, startLine: upStartLine } = migration.parseUpBlock(sql); console.log(upStartLine, upSql); const { sql: downSql, startLine: downStartLine } = migration.parseDownBlock(sql); console.log(downStartLine, downSql);