mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 21:16:00 +00:00
33 lines
908 B
JavaScript
33 lines
908 B
JavaScript
function replaceInText(text, replacements) {
|
|
let result = text;
|
|
for (const key of Object.keys(replacements)) {
|
|
result = result.split(key).join(replacements[key]);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
function replaceInCollection(collection, replacements) {
|
|
if (!collection) return collection;
|
|
return collection.map(item => {
|
|
if (item.createSql) {
|
|
return {
|
|
...item,
|
|
createSql: replaceInText(item.createSql, replacements),
|
|
};
|
|
}
|
|
return item;
|
|
});
|
|
}
|
|
|
|
const sqlTextReplacementTransform = replacements => database => {
|
|
return {
|
|
...database,
|
|
views: replaceInCollection(database.views, replacements),
|
|
matviews: replaceInCollection(database.matviews, replacements),
|
|
procedures: replaceInCollection(database.procedures, replacements),
|
|
functions: replaceInCollection(database.functions, replacements),
|
|
};
|
|
};
|
|
|
|
module.exports = sqlTextReplacementTransform;
|