2021-02-03 19:49:42 +01:00
|
|
|
function createNewTable(sql, tablename, alteredName) {
|
|
|
|
return sql.replace(tablename, alteredName);
|
2021-01-01 19:42:19 +02:00
|
|
|
}
|
|
|
|
|
2021-08-25 16:30:44 +02:00
|
|
|
function copyData(sourceTable, targetTable, columns) {
|
|
|
|
return `INSERT INTO ${targetTable} SELECT ${
|
|
|
|
columns === undefined
|
|
|
|
? '*'
|
|
|
|
: columns.map((column) => `"${column}"`).join(', ')
|
|
|
|
} FROM ${sourceTable};`;
|
2021-01-01 19:42:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
function dropOriginal(tableName) {
|
2021-12-09 15:19:37 +01:00
|
|
|
return `DROP TABLE '${tableName}'`;
|
2021-01-01 19:42:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
function renameTable(tableName, alteredName) {
|
2021-12-09 15:19:37 +01:00
|
|
|
return `ALTER TABLE '${tableName}' RENAME TO '${alteredName}'`;
|
2021-01-01 19:42:19 +02:00
|
|
|
}
|
|
|
|
|
2021-01-01 20:35:54 +02:00
|
|
|
function getTableSql(tableName) {
|
2021-12-09 15:19:37 +01:00
|
|
|
return `SELECT type, sql FROM sqlite_master WHERE (type='table' OR (type='index' AND sql IS NOT NULL)) AND tbl_name='${tableName}'`;
|
2021-01-01 20:35:54 +02:00
|
|
|
}
|
|
|
|
|
2021-01-01 19:42:19 +02:00
|
|
|
module.exports = {
|
2021-02-03 19:49:42 +01:00
|
|
|
createNewTable,
|
|
|
|
copyData,
|
2021-08-25 16:30:44 +02:00
|
|
|
dropOriginal,
|
2021-01-01 19:42:19 +02:00
|
|
|
renameTable,
|
2021-01-01 20:35:54 +02:00
|
|
|
getTableSql,
|
2021-01-01 19:42:19 +02:00
|
|
|
};
|