sorting key support, clickhouse recreate table support

This commit is contained in:
Jan Prochazka
2024-09-12 11:59:03 +02:00
parent 670cfb9dc0
commit 2f1cbbd75e
8 changed files with 116 additions and 32 deletions

View File

@@ -46,10 +46,10 @@ class Analyser extends DatabaseAnalyser {
...extractDataType(col.dataType),
})),
primaryKey: table.primaryKeyColumns
? { columns: (table.primaryKeyColumns || '').split(',').map((columnName) => ({ columnName })) }
? { columns: (table.primaryKeyColumns || '').split(',').map((x) => ({ columnName: x.trim() })) }
: null,
sortingKey: table.sortingKeyColumns
? { columns: (table.sortingKeyColumns || '').split(',').map((columnName) => ({ columnName })) }
? { columns: (table.sortingKeyColumns || '').split(',').map((x) => ({ columnName: x.trim() })) }
: null,
foreignKeys: [],
})),

View File

@@ -23,6 +23,20 @@ class Dumper extends SqlDumper {
renameColumn(column, newcol) {
this.putCmd('^alter ^table %f ^rename ^column %i ^to %i', column, column.columnName, newcol);
}
renameTable(obj, newName) {
this.putCmd('^rename ^table %f ^to %i', obj, newName);
}
tableOptions(table) {
super.tableOptions(table);
if (table.sortingKey) {
this.put(
'&n^order ^by (%,i)',
table.sortingKey.columns.map((x) => x.columnName)
);
}
}
}
module.exports = Dumper;