Skip to content

Latest commit

 

History

History
50 lines (44 loc) · 1.21 KB

File metadata and controls

50 lines (44 loc) · 1.21 KB
// Create the original structure
await runMigration(access, {
	dialect: "Sqlite",
	tables: [
		TableObj.create("OriginalTable", {
			id: [0, {primaryKey: true}],
			originalColumn: ""
		}).sealType()
	],
	version: 1
});

// Insert test data
await access.runTransaction(`
            INSERT INTO OriginalTable (originalColumn) VALUES
            ('value1'),
            ('value2')
        `);

// Check original data:
expect(await access.runReadStatement("SELECT * FROM originalTable")).toEqual([
	{id: 1, originalColumn: "value1"},
	{id: 2, originalColumn: "value2"}
]);


// Rename a table (Table -> RenamedTable) and a column (column -> RenamedColumn):
await runMigration(access, {
	dialect: "Sqlite",
	tables: [
		TableObj.create("RenamedTable", {
			id: [0, {primaryKey: true}],
			renamedColumn: ""
		}).sealType()
	],
	version: 2,
	preMigration: (migrations: PublicMigrations) => {
		migrations.renameTable(2, "OriginalTable", "RenamedTable");
		migrations.renameColumn(2, "RenamedTable", "originalColumn", "renamedColumn");
	}
});


//Check for changed structure:
expect(await access.runReadStatement("SELECT * FROM renamedTable")).toEqual([
	{id: 1, renamedColumn: "value1"},
	{id: 2, renamedColumn: "value2"}
]);