knex/lib/dialects/sqlite3/schema/internal/sqlite-ddl-operations.js

47 lines
1.1 KiB
JavaScript
Raw Normal View History

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,
};