The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
We devised a simple workaround to utilize dap 0.3.18 to load our production MySQL 5.7.15 tables. All of our CD2 SQL queries have been tested and deployed into production using the non-prefixed table names, e.g. assignments rather than canvas__assignments. The 1.x dap CLI release notes include the following:
"In earlier releases of the 0.3.x series, the namespace prefix was not applied to Canvas tables. (However, it was applied to tables part of the namespaces canvas_logs and catalog.) This issue has been fixed in the 1.0.x series, and an automatic migration script ensures that tables that had the incomplete table name would be renamed to the fully qualified (prefixed) name for MySQL users."
Ideally, we would like the ability to turn off the prefixing feature if not needed (not loading multiple namespaces) or if we prefer using multiple MySQL database schemas in lieu of table prefixes.
Does Instructure have plans to support turning off the prefixing feature?
Do other MySQL 5.7 users have any thoughts on workarounds, e.g. views, table renames, table copies, etc.., to continue using non-prefixed table names?
Unfortunately, I am not aware of any plans to selectively disable table prefixes for MySQL. Unlike PostgreSQL, database engines Oracle and MySQL do not support namespaces (schemas), and our extended DAP data set has conflicting table names, e.g. both the canvas and the catalog namespace has a table called users, and they are not the same. If we did not use prefixes, and someone started to replicate data from the other namespace, synchronization would fail, or worse, it might lead to data corruption. Views could be a good alternative to expose the table data under a new alias of your choice.
Thank you for your quick response. I agree there can be name collisions if loading both namespaces into the same MySQL database. Our school is not using Catalog and an alternative solution, such as requiring different MySQL databases for canvas and catalog, would avoid name collisions without requiring changes to already deployed SQL.
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in