This question has been answered by BobRay. See the first response.
No foreign key definition for parentClass: modUser using relation alias: ExtUser
[2016-08-12 12:51:32] (ERROR @ /index.php) Error 23000 executing statement: INSERT INTO `modx_user_attributes` (`internalKey`, `fullname`, `email`, `phone`, `mobilephone`, `blocked`, `blockeduntil`, `blockedafter`, `logincount`, `lastlogin`, `thislogin`, `failedlogincount`, `sessionid`, `dob`, `gender`, `address`, `country`, `city`, `state`, `zip`, `fax`, `photo`, `comment`, `website`, `extended`) VALUES (49, 'Bob Smith', '[email protected]', '', '', 0, 0, 0, 0, 0, 0, 0, '', 0, 0, '', '', '', '', '', '', '', '', '', '{\"alias\":\"Johny Test\",\"bio\":\"Test account\",\"key\":\"\"}') Array ( [0] => 23000 [1] => 1452 [2] => Cannot add or update a child row: a foreign key constraint fails (`i983192_modx1`.`modx_user_attributes`, CONSTRAINT `ExtUser` FOREIGN KEY (`internalKey`) REFERENCES `ext_user_attributes` (`id`)) ) [2016-08-12 12:51:32] (ERROR @ /index.php) Error 23000 executing statement: INSERT INTO `modx_user_attributes` (`internalKey`, `fullname`, `email`, `phone`, `mobilephone`, `blocked`, `blockeduntil`, `blockedafter`, `logincount`, `lastlogin`, `thislogin`, `failedlogincount`, `sessionid`, `dob`, `gender`, `address`, `country`, `city`, `state`, `zip`, `fax`, `photo`, `comment`, `website`, `extended`) VALUES (49, 'Bob Smith', '[email protected]', '', '', 0, 0, 0, 0, 0, 0, 0, '', 0, 0, '', '', '', '', '', '', '', '', '', '{\"alias\":\"Johny Test\",\"bio\":\"Test account\",\"key\":\"\"}') Array ( [0] => 23000 [1] => 1452 [2] => Cannot add or update a child row: a foreign key constraint fails (`i983192_modx1`.`modx_user_attributes`, CONSTRAINT `ExtUser` FOREIGN KEY (`internalKey`) REFERENCES `ext_user_attributes` (`id`)) ) [2016-08-12 12:51:32] (ERROR @ /index.php) Error 23000 executing statement: INSERT INTO `modx_user_attributes` (`internalKey`, `fullname`, `email`, `phone`, `mobilephone`, `blocked`, `blockeduntil`, `blockedafter`, `logincount`, `lastlogin`, `thislogin`, `failedlogincount`, `sessionid`, `dob`, `gender`, `address`, `country`, `city`, `state`, `zip`, `fax`, `photo`, `comment`, `website`, `extended`) VALUES (49, 'Bob Smith', '[email protected]', '', '', 0, 0, 0, 0, 0, 0, 0, '', 0, 0, '', '', '', '', '', '', '', '', '', '{\"alias\":\"Johny Test\",\"bio\":\"Test account\",\"key\":\"\"}') Array ( [0] => 23000 [1] => 1452 [2] => Cannot add or update a child row: a foreign key constraint fails (`i983192_modx1`.`modx_user_attributes`, CONSTRAINT `ExtUser` FOREIGN KEY (`internalKey`) REFERENCES `ext_user_attributes` (`id`)) ) [2016-08-12 12:51:32] (ERROR in setExtUser Snippet @ /index.php) Failed to create object of type: Profile
<?xml version="1.0" encoding="UTF-8"?>
<model package="extendeduser" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" tablePrefix="ext_" version="1.1">
<!-- inherit the modx user and extend it -->
<object class="extUser" extends="modUser">
<composite alias="ExtUser" local="id" class="UserAttributes" foreign="id" cardinality="one" owner="foreign" />
</object>
<!-- track all user attributes -->
<object class="UserAttributes" table="user_attributes" extends="xPDOObject">
<field key="id" dbtype="int" precision="11" phptype="integer" null="false" index="pk" />
<field key="api_key" dbtype="varchar" precision="64" phptype="string" null="false" />
<field key="alias" dbtype="varchar" precision="64" phptype="string" null="false" />
<field key="bio" dbtype="text" phptype="string" null="false" />
<field key="medium" dbtype="varchar" precision="255" phptype="string" null="false" default="Undisclosed" />
<field key="genetics" dbtype="varchar" precision="255" phptype="string" null="false" default="Undisclosed" />
<field key="experience" dbtype="varchar" precision="255" phptype="string" null="false" default="Undisclosed" />
<field key="environment" dbtype="varchar" precision="255" phptype="string" null="false" default="Undisclosed" />
<field key="followers" dbtype="longtext" phptype="string" null="true" />
<field key="following" dbtype="longtext" phptype="string" null="true" />
<field key="upvotes" dbtype="int" precision="11" phptype="integer" null="false" default="0" />
<field key="voters" dbtype="longtext" phptype="string" null="true" />
<field key="user_votes" dbtype="longtext" phptype="string" null="true" />
<field key="grow_votes" dbtype="longtext" phptype="string" null="true" />
<field key="chronicle_votes" dbtype="longtext" phptype="string" null="true" />
<field key="rating" dbtype="int" precision="11" phptype="integer" null="false" default="0" />
<index alias="id" name="id" primary="false" unique="true" type="BTREE">
<column key="id" length="" collation="A" null="false" />
</index>
<aggregate alias="User" class="modUser" local="id" foreign="id" cardinality="one" owner="foreign"/>
<aggregate alias="Profile" class="modUserProfile" local="id" foreign="internalKey" cardinality="one" owner="foreign"/>
</object>
</model><?xml version="1.0" encoding="UTF-8"?>
<model package="extendeduser" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" tablePrefix="ext_" version="1.1">
<!-- inherit the modx user and extend it -->
<object class="extUser" extends="modUser">
<composite alias="ExtUser" local="id" class="UserAttributes" foreign="id" cardinality="one" owner="foreign" />
</object>
<!-- track all user attributes -->
<object class="UserAttributes" table="user_attributes" extends="xPDOObject">
<field key="id" dbtype="int" precision="11" phptype="integer" null="false" index="pk" />
<field key="api_key" dbtype="varchar" precision="64" phptype="string" null="false" />
<field key="alias" dbtype="varchar" precision="64" phptype="string" null="false" />
<field key="bio" dbtype="text" phptype="string" null="false" />
<field key="medium" dbtype="varchar" precision="255" phptype="string" null="false" default="Undisclosed" />
<field key="genetics" dbtype="varchar" precision="255" phptype="string" null="false" default="Undisclosed" />
<field key="experience" dbtype="varchar" precision="255" phptype="string" null="false" default="Undisclosed" />
<field key="environment" dbtype="varchar" precision="255" phptype="string" null="false" default="Undisclosed" />
<field key="followers" dbtype="longtext" phptype="string" null="true" />
<field key="following" dbtype="longtext" phptype="string" null="true" />
<field key="upvotes" dbtype="int" precision="11" phptype="integer" null="false" default="0" />
<field key="voters" dbtype="longtext" phptype="string" null="true" />
<field key="user_votes" dbtype="longtext" phptype="string" null="true" />
<field key="grow_votes" dbtype="longtext" phptype="string" null="true" />
<field key="chronicle_votes" dbtype="longtext" phptype="string" null="true" />
<field key="rating" dbtype="int" precision="11" phptype="integer" null="false" default="0" />
<index alias="id" name="id" primary="false" unique="true" type="BTREE">
<column key="id" length="" collation="A" null="false" />
</index>
<aggregate alias="User" class="modUser" local="id" foreign="id" cardinality="one" owner="foreign"/>
<aggregate alias="Profile" class="modUserProfile" local="id" foreign="internalKey" cardinality="one" owner="foreign"/>
</object>
</model>
<?xml version="1.0" encoding="UTF-8"?>
<model package="extendeduser" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" tablePrefix="ext_" version="1.0.0">
<!-- extend the modUser class -->
<object class="extUser" extends="modUser">
<composite alias="Data" local="id" class="userData" foreign="userdata_id" cardinality="one" owner="local"/>
</object>
<object class="userData" table="user_data" extends="xPDOSimpleObject">
<field key="userdata_id" dbtype="int" precision="11" phptype="integer" null="false" attributes="unsigned"/>
<field key="firstName" dbtype="varchar" precision="50" phptype="string" null="true"/>
<field key="lastName" dbtype="varchar" precision="50" phptype="string" null="true"/>
<field key="title" dbtype="varchar" precision="100" phptype="string" null="true"/>
<field key="company" dbtype="varchar" precision="100" phptype="string" null="true"/>
<field key="registrationDate" dbtype="datetime" phptype="datetime"/>
<field key="extra" dbtype="varchar" precision="100" phptype="string" null="true"/>
<field key="extra2" dbtype="varchar" precision="100" phptype="string" null="true"/>
<index alias="userdata_id" name="userdata_id" primary="false" unique="true" type="BTREE">
<column key="userdata_id" length="" collation="A" null="false"/>
</index>
<aggregate alias="User" class= "modUser" local="userdata_id" foreign="id" cardinality="one" owner="foreign"/>
</object>
</model>