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,
columns: columns.rows.filter((col) => col.pureName == view.pureName).map(getColumnInfo),
createSql: viewTexts[view.pureName],
requiresFormat: true,
})),
procedures: programmables.rows.filter((x) => x.objectType == 'PROCEDURE').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 {
createSql?: string;
requiresFormat?: boolean; // SQL is human unreadable, requires formatting (eg. MySQL views)
}
export interface TableInfo extends DatabaseObjectInfo {

View File

@@ -39,7 +39,10 @@ function useSqlTemplate(sqlTemplate, props) {
}
if (sqlTemplate == 'CREATE OBJECT') {
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') {
const procedureInfo = await getSqlObjectInfo(props);