mysql view format

This commit is contained in:
Jan Prochazka
2020-06-28 21:33:13 +02:00
parent 0c3a2fb047
commit abf7ad478d
3 changed files with 6 additions and 1 deletions

View File

@@ -103,6 +103,7 @@ class MySqlAnalyser extends DatabaseAnalayser {
...view, ...view,
columns: columns.rows.filter((col) => col.pureName == view.pureName).map(getColumnInfo), columns: columns.rows.filter((col) => col.pureName == view.pureName).map(getColumnInfo),
createSql: viewTexts[view.pureName], createSql: viewTexts[view.pureName],
requiresFormat: true,
})), })),
procedures: programmables.rows.filter((x) => x.objectType == 'PROCEDURE').map(fp.omit(['objectType'])), procedures: programmables.rows.filter((x) => x.objectType == 'PROCEDURE').map(fp.omit(['objectType'])),
functions: programmables.rows.filter((x) => x.objectType == 'FUNCTION').map(fp.omit(['objectType'])), functions: programmables.rows.filter((x) => x.objectType == 'FUNCTION').map(fp.omit(['objectType'])),

View File

@@ -49,6 +49,7 @@ export interface DatabaseObjectInfo extends NamedObjectInfo {
export interface SqlObjectInfo extends DatabaseObjectInfo { export interface SqlObjectInfo extends DatabaseObjectInfo {
createSql?: string; createSql?: string;
requiresFormat?: boolean; // SQL is human unreadable, requires formatting (eg. MySQL views)
} }
export interface TableInfo extends DatabaseObjectInfo { export interface TableInfo extends DatabaseObjectInfo {

View File

@@ -39,7 +39,10 @@ function useSqlTemplate(sqlTemplate, props) {
} }
if (sqlTemplate == 'CREATE OBJECT') { if (sqlTemplate == 'CREATE OBJECT') {
const objectInfo = await getSqlObjectInfo(props); const objectInfo = await getSqlObjectInfo(props);
if (objectInfo) setSql(objectInfo.createSql); if (objectInfo) {
if (objectInfo.requiresFormat) setSql(sqlFormatter.format(objectInfo.createSql));
else setSql(objectInfo.createSql);
}
} }
if (sqlTemplate == 'EXECUTE PROCEDURE') { if (sqlTemplate == 'EXECUTE PROCEDURE') {
const procedureInfo = await getSqlObjectInfo(props); const procedureInfo = await getSqlObjectInfo(props);