mirror of
https://github.com/knex/knex.git
synced 2025-07-12 11:30:34 +00:00
47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
function createNewTable(sql, tablename, alteredName) {
|
|
return sql.replace(tablename, alteredName);
|
|
}
|
|
|
|
function copyData(sourceTable, targetTable, columns) {
|
|
return `INSERT INTO ${targetTable} SELECT ${
|
|
columns === undefined
|
|
? '*'
|
|
: columns.map((column) => `"${column}"`).join(', ')
|
|
} FROM ${sourceTable};`;
|
|
}
|
|
|
|
function dropOriginal(tableName) {
|
|
return `DROP TABLE '${tableName}'`;
|
|
}
|
|
|
|
function renameTable(tableName, alteredName) {
|
|
return `ALTER TABLE '${tableName}' RENAME TO '${alteredName}'`;
|
|
}
|
|
|
|
function getTableSql(tableName) {
|
|
return `SELECT type, sql FROM sqlite_master WHERE (type='table' OR (type='index' AND sql IS NOT NULL)) AND tbl_name='${tableName}'`;
|
|
}
|
|
|
|
function isForeignCheckEnabled() {
|
|
return `PRAGMA foreign_keys`;
|
|
}
|
|
|
|
function setForeignCheck(enable) {
|
|
return `PRAGMA foreign_keys = ${enable ? 'ON' : 'OFF'}`;
|
|
}
|
|
|
|
function executeForeignCheck() {
|
|
return `PRAGMA foreign_key_check`;
|
|
}
|
|
|
|
module.exports = {
|
|
createNewTable,
|
|
copyData,
|
|
dropOriginal,
|
|
renameTable,
|
|
getTableSql,
|
|
isForeignCheckEnabled,
|
|
setForeignCheck,
|
|
executeForeignCheck,
|
|
};
|