New modules not showing & extra subpanel on a custom module (plus some other queries)

Hi,

SuiteCRM 7.11.18

I have just migrated from Linux/MySql to Windows/Azure SQL and after quite a bit of tinkering have it working to some degree.

The problems I have are as follows:
I have a custom module with has a One to Many relationship with another custom module. The parent module shows 2 subpanels for the child module. One given and error when you expand it, the other works fine. How can I remove the problem subpanel?

I have another custom module which is visible in Studio but doesn’t show up in ‘Display Modules and Subpanels’ or ‘Configure Module Menu Filters’ so I am unable to access it. Any ideas on how I can resolve this?

If go into Role Management and select an existing role or create a new one, none of the custom modules are shown so I can’t assign access to them. Is this a known limitation or is there something I should do?

If I do a Quick Repair, I always get the following SQL script to sync the structure:

`/* Table : jjwg_maps */

/COLUMNS/
/*MISMATCH WITH DATABASE - distance - ROW [name] => ‘distance’ [type] => ‘real’ [len] => ‘4’ /
/
VARDEF - distance - ROW[required] => ‘’ [name] => ‘distance’ [vname] => ‘LBL_DISTANCE’ [type] => ‘float’ [massupdate] => ‘0’ [comments] => ‘’ [help] => ‘Distance’ [importable] => ‘true’ [duplicate_merge] => ‘disabled’ [duplicate_merge_dom_value] => ‘0’ [audited] => ‘1’ [reportable] => ‘1’ [len] => ‘9,4’ [size] => ‘20’ [precision] => ‘4’ [dbType] => ‘float’ [default] => ‘’ /
ALTER TABLE jjwg_maps ALTER COLUMN [distance] float(9) NULL ;
;
/
INDEXES /
/
Table : jjwg_markers */
/COLUMNS/
/*MISMATCH WITH DATABASE - jjwg_maps_lat - ROW [name] => ‘jjwg_maps_lat’ [type] => ‘real’ [len] => ‘4’ [default] => ‘0.00000000’ /
/
VARDEF - jjwg_maps_lat - ROW[required] => ‘’ [name] => ‘jjwg_maps_lat’ [vname] => ‘LBL_JJWG_MAPS_LAT’ [type] => ‘float’ [massupdate] => ‘0’ [default] => ‘0.00000000’ [comments] => ‘’ [help] => ‘Latitude’ [importable] => ‘true’ [duplicate_merge] => ‘disabled’ [duplicate_merge_dom_value] => ‘0’ [audited] => ‘’ [reportable] => ‘1’ [len] => ‘10,8’ [size] => ‘20’ [precision] => ‘8’ [dbType] => ‘float’ */
ALTER TABLE jjwg_markers DROP CONSTRAINT DF__jjwg_mark__jjwg___0D2FE9C3 ALTER TABLE jjwg_markers ALTER COLUMN [jjwg_maps_lat] float(10) NULL ;
ALTER TABLE jjwg_markers ADD DEFAULT ‘0.00000000’ FOR jjwg_maps_lat ;
/*MISMATCH WITH DATABASE - jjwg_maps_lng - ROW [name] => ‘jjwg_maps_lng’ [type] => ‘real’ [len] => ‘4’ [default] => ‘0.00000000’ /
/
VARDEF - jjwg_maps_lng - ROW[required] => ‘’ [name] => ‘jjwg_maps_lng’ [vname] => ‘LBL_JJWG_MAPS_LNG’ [type] => ‘float’ [massupdate] => ‘0’ [default] => ‘0.00000000’ [comments] => ‘’ [help] => ‘Longitude’ [importable] => ‘true’ [duplicate_merge] => ‘disabled’ [duplicate_merge_dom_value] => ‘0’ [audited] => ‘’ [reportable] => ‘1’ [len] => ‘11,8’ [size] => ‘20’ [precision] => ‘8’ [dbType] => ‘float’ /
ALTER TABLE jjwg_markers DROP CONSTRAINT DF__jjwg_mark__jjwg___0E240DFC ALTER TABLE jjwg_markers ALTER COLUMN [jjwg_maps_lng] float(11) NULL ;
ALTER TABLE jjwg_markers ADD DEFAULT ‘0.00000000’ FOR jjwg_maps_lng ;
/
INDEXES /
/
Table : jjwg_address_cache */
/COLUMNS/
/*MISMATCH WITH DATABASE - lat - ROW [name] => ‘lat’ [type] => ‘real’ [len] => ‘4’ /
/
VARDEF - lat - ROW[required] => ‘’ [name] => ‘lat’ [vname] => ‘LBL_LAT’ [type] => ‘float’ [massupdate] => ‘0’ [comments] => ‘’ [help] => ‘Latitude’ [importable] => ‘true’ [duplicate_merge] => ‘disabled’ [duplicate_merge_dom_value] => ‘0’ [audited] => ‘’ [reportable] => ‘1’ [len] => ‘10,8’ [size] => ‘20’ [precision] => ‘8’ [dbType] => ‘float’ [default] => ‘’ */
ALTER TABLE jjwg_address_cache ALTER COLUMN [lat] float(10) NULL ;
;
/*MISMATCH WITH DATABASE - lng - ROW [name] => ‘lng’ [type] => ‘real’ [len] => ‘4’ /
/
VARDEF - lng - ROW[required] => ‘’ [name] => ‘lng’ [vname] => ‘LBL_LNG’ [type] => ‘float’ [massupdate] => ‘0’ [comments] => ‘’ [help] => ‘Longitude’ [importable] => ‘true’ [duplicate_merge] => ‘disabled’ [duplicate_merge_dom_value] => ‘0’ [audited] => ‘’ [reportable] => ‘1’ [len] => ‘11,8’ [size] => ‘20’ [precision] => ‘8’ [dbType] => ‘float’ [default] => ‘’ /
ALTER TABLE jjwg_address_cache ALTER COLUMN [lng] float(11) NULL ;
;
/
INDEXES */`

Is there any way to permanently resolve this?

Thanks for reading and I hope you can help!

James