pg-node-migrations
Version:
Based on the work on ThomWright's postgres migration package. Adds the ability to specify a schema and table name.
28 lines (27 loc) • 861 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseFileName = void 0;
const parseId = (id) => {
const parsed = parseInt(id, 10);
if (isNaN(parsed)) {
throw new Error(`Migration file name should begin with an integer ID.'`);
}
return parsed;
};
const parseFileName = (fileName) => {
const result = /^(-?\d+)[-_]?(.*).(sql|js)$/gi.exec(fileName);
if (!result) {
throw new Error(`Invalid file name: '${fileName}'.`);
}
const [, id, name, type] = result;
const lowerType = type.toLowerCase();
if (lowerType !== "js" && lowerType !== "sql") {
throw new Error("Not a JS or SQL file");
}
return {
id: parseId(id),
name: name == null || name === "" ? fileName : name,
type: lowerType,
};
};
exports.parseFileName = parseFileName;