I have a CMP using MIGXdb and I need to modify it to include some checkboxes that will be stored as a JSON string. In the package manager I updated the schema, saved the schema, parsed the schema, hit the create table, add field, and alter field buttons in a variety of orders but the table in the db isn’t being altered and no .map.inc.php files are being created. The CMP has been working properly and all those files were first created by MIGX so I don’t think PHP lacks write permission or anything. I tried manually adding the field but it didn’t help.
Did you check the MODX error log?
These buttons always show a “success” message, even when an error occurs. Errors are only visible in the MODX error log.
What version of MODX are you using?
I guess it could create a problem, if you tried to extend a schema in MODX 3.x, that you initially created with MODX 2.x.
This is MODX 3.2. Originally created in MODX 3.1 I think. MIGX is version 3.0.2-beta1. The only error in the log is this one below, which occurs after I hit the “Alter fields” buttons. The parse Schema, create Tables, and Add fields buttons do not produce any errors.
[2026-03-12 23:50:20] (ERROR @ /www/core/vendor/xpdo/xpdo/src/xPDO/Om/mysql/xPDOManager.php : 355) Error altering field JCoAlerts\Model\Alert->locations: No metadata defined
The “locations” field is the one I’m trying to add.
When you parse a schema in MODX 3, then a .map.inc.php is no longer created.
Did you check the file (probably something like core/components/jcoalerts/src/Model/mysql/Alert.php in your case)? Does the 'fieldMeta' exist for the new column “locations”?
Maybe try deleting the class files in src/Model/ before running “parse Schema”, so that the files definitely get regenerated.
I don’t think you need to run “Alter fields”, when you add a new column.
There is no fieldMeta entry for “locations.” I deleted the class files in src/Model/ and ran “parse Schema” again. The files were not recreated and I got the follow error in the log:
[2026-03-14 00:08:23] (ERROR in xPDO\Om\xPDOGenerator::_loadExistingClass @ /www/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOGenerator.php : 851) Class "JCoAlerts\Model\mysql\Alertlist" does not exist
[2026-03-14 00:08:23] (ERROR in xPDO\Om\xPDOGenerator::_loadExistingClass @ /www/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOGenerator.php : 851) Class "JCoAlerts\Model\mysql\Alert" does not exist
I can’t reproduce the issue.
I used MODX 3.2.0-pl, MIGX 3.0.2-beta1 and the schema you posted, and the MIGX Package Manager created the class files without any errors, when I clicked the “parse Schema” button.
Did you create it and then try to add a field to it? I had no trouble creating it. It’s been working fine until I tried to add a new field. I’m going to investigate PHP’s write permissions, although this is on MODX Cloud so I wouldn’t expect that to be an issue.
No, I only tested the “parse Schema” part, as this seems to be the problem. When you delete the class files in the src/Model/ folder, then there is no difference between parsing the schema for the first time, and parsing it again after an update.