Hi @Jose_Arteaga @Steve @Suvrutt_Gurjar
I managed to track down the root cause of this error with the help of Google Workspace support and wanted to share the complete context and solution.
Root cause
It turns out the exact issue occurs when the child table (ie, tables having a reference with “Is part of” enabled) has its Key column data type set to ENUM. AppSheet struggles with the cascading delete in this specific configuration, which is what throws the TableRefMetaData type casting error.
Fix
The fix is straightforward: avoid using ENUM data type for the Key column. The Key column should ideally be set to standard types like Text. After updating my child tables to use Text for the Key column, the delete action completes and syncs perfectly.
Why use ENUM for these columns in the first place?
You might be wondering why I had the Key column set to ENUM instead of Text. I actually use the ENUM data type for almost all of my standard text columns (setting the Base type to Text, Name, Email, etc, further allowing users to add new values).
The primary reason is better native filtering. If you use standard data types (Text, Name, Email), the native AppSheet filter usually just provides a blank text box, requiring the user to type out exactly what they are looking for. However, by formatting these columns as ENUM, the native filter automatically allows users to select specific existing record values from a dropdown list. This makes filtering significantly faster and more intuitive for the end user, as they don’t have to manually guess the exact spelling of the data.
While the ENUM workaround is great for filtering standard columns, it seems it simply won’t be possible to use ENUM for Key columns—especially on child tables that have “Is part of” enabled.
Hopefully, this helps anyone else who encounters this specific error in the future!