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) {
|
|
|
|
return `DROP TABLE "${tableName}"`;
|
|
|
|
}
|
|
|
|
|
|
|
|
function renameTable(tableName, alteredName) {
|
|
|
|
return `ALTER TABLE "${tableName}" RENAME TO "${alteredName}"`;
|
|
|
|
}
|
|
|
|
|
2021-01-01 20:35:54 +02:00
|
|
|
function getTableSql(tableName) {
|
2021-02-05 15:35:30 +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
|
|
|
};
|