[Discovery] MySQL Support

Forge Component
Published on 2018-11-30 by João Rafael Capucha
67 votes
Published on 2018-11-30 by João Rafael Capucha

There are a few issues with this application to run with MySQL database. Should MySQL be supported and if so, is there a timeline to get a MySQL compatible version?

Thank you,

Carlos Freitas

What are the issues?

There are several in the DiscoveryProbe espace, some of them very simple for example in the advanced query DeleteAppReferences the query DELETE {ApplicationReference} needs to change to DELETE FROM {ApplicationReference} but some more complex to refactor like the advanced query InserModuleEffort where the sintax over partition by is not supported. 

Didn't investigate it further to have a full list of incompatible queries.

We are running Discovery on top of MySQL and have fixes i could contribute if granted permissions. E.g. Canvas/preparation/GetModules throws exception.

Fix would be to add new alias: ApplicationDefName

SyntaxEditor Code Snippet

SELECT {ModuleDef}.[Id], {ModuleDef}.[Name], {ModuleDef}.[Kind], {ModuleDef}.[ApplicationDefId], {ModuleDef}.[Layer], 
{ModuleDef}.[UpperViolations], {ModuleDef}.[SideViolations], {ModuleDef}.[CyclicDependencies], {ModuleDef}.[FanIn], {ModuleDef}.[FanOut], 
{ModuleDef}.[IsSelected],{ModuleLayer}.[Label],{ApplicationDef}.[Name] ApplicationDefName
FROM {ModuleDef}
INNER JOIN {ApplicationDef} on {ModuleDef}.[ApplicationDefId] = {ApplicationDef}.[Id]
LEFT JOIN {ModuleLayer} on {ModuleDef}.[Layer] = {ModuleLayer}.[Id]
WHERE {ModuleDef}.[IsDeleted]=0 @SearchKeywordFilter @SelectedOnlyFilter @ApplicationDefFilter @ModuleLayerFilter @UndefinedFilter @ViolationsOnlyFilter @HideExtensionsFilter @ConsumersFilter @ProducersFilter
ORDER BY {ModuleLayer}.[Order] desc,  @OrderBy