typeorm-versions
Version:
Entity versioning for TypeORM
64 lines • 2.46 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AddVersionMigration = void 0;
const typeorm_1 = require("typeorm");
class AddVersionMigration {
constructor() {
this.tableName = "version";
}
async up(queryRunner) {
await queryRunner.createTable(new typeorm_1.Table({
name: this.tableName,
columns: [
{
name: "id",
type: queryRunner.connection.driver.normalizeType({
type: queryRunner.connection.driver.mappedDataTypes.migrationId, // good enough
}),
isGenerated: true,
generationStrategy: "increment",
isPrimary: true,
},
{
name: "itemType",
type: queryRunner.connection.driver.normalizeType({ type: String }),
isNullable: false,
},
{
name: "itemId",
type: queryRunner.connection.driver.normalizeType({ type: String }),
isNullable: false,
},
{
name: "event",
type: queryRunner.connection.driver.normalizeType({ type: String }),
isNullable: false,
},
{
name: "owner",
type: queryRunner.connection.driver.normalizeType({ type: String }),
isNullable: false,
},
{
name: "object",
type: queryRunner.connection.driver.normalizeType({ type: "simple-json" }),
isNullable: false,
},
{
name: "timestamp",
type: queryRunner.connection.driver.normalizeType({
type: queryRunner.connection.driver.mappedDataTypes.createDate,
precision: queryRunner.connection.driver.mappedDataTypes.createDatePrecision
}),
precision: 6,
isNullable: false,
},
],
}), true);
}
async down(queryRunner) {
await queryRunner.dropTable(this.tableName);
}
}
exports.AddVersionMigration = AddVersionMigration;
//# sourceMappingURL=AddVersionMigration.js.map