mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-30 15:03:57 +00:00
autoIndexForeignKeysTransform for db deployer
This commit is contained in:
19
packages/api/src/shell/autoIndexForeignKeysTransform.js
Normal file
19
packages/api/src/shell/autoIndexForeignKeysTransform.js
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
const autoIndexForeignKeysTransform = () => database => {
|
||||||
|
return {
|
||||||
|
...database,
|
||||||
|
tables: database.tables.map(table => {
|
||||||
|
return {
|
||||||
|
...table,
|
||||||
|
indexes: [
|
||||||
|
...(table.indexes || []),
|
||||||
|
...table.foreignKeys.map(fk => ({
|
||||||
|
constraintName: `IX_${fk.constraintName}`,
|
||||||
|
columns: fk.columns,
|
||||||
|
})),
|
||||||
|
],
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = autoIndexForeignKeysTransform;
|
||||||
@@ -32,6 +32,7 @@ const jsonToDbModel = require('./jsonToDbModel');
|
|||||||
const jsonReader = require('./jsonReader');
|
const jsonReader = require('./jsonReader');
|
||||||
const dataTypeMapperTransform = require('./dataTypeMapperTransform');
|
const dataTypeMapperTransform = require('./dataTypeMapperTransform');
|
||||||
const sqlTextReplacementTransform = require('./sqlTextReplacementTransform');
|
const sqlTextReplacementTransform = require('./sqlTextReplacementTransform');
|
||||||
|
const autoIndexForeignKeysTransform = require('./autoIndexForeignKeysTransform');
|
||||||
|
|
||||||
const dbgateApi = {
|
const dbgateApi = {
|
||||||
queryReader,
|
queryReader,
|
||||||
@@ -67,6 +68,7 @@ const dbgateApi = {
|
|||||||
jsonToDbModel,
|
jsonToDbModel,
|
||||||
dataTypeMapperTransform,
|
dataTypeMapperTransform,
|
||||||
sqlTextReplacementTransform,
|
sqlTextReplacementTransform,
|
||||||
|
autoIndexForeignKeysTransform,
|
||||||
};
|
};
|
||||||
|
|
||||||
requirePlugin.initializeDbgateApi(dbgateApi);
|
requirePlugin.initializeDbgateApi(dbgateApi);
|
||||||
|
|||||||
Reference in New Issue
Block a user