| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Scope Doctrine schema introspection and the duplicated-index-name migration to tables carrying the configured table prefix, and map MySQL's ENUM type to string, so tables not created by phpBB sharing the database cannot break installation or schema changes. PHPBB-17625
| Back | FazBrowse Home | New Git URL |
Installing phpBB into a database that already contains tables not created by phpBB (shared hosting setups, or a database also holding an old board) fails with Unknown database type enum requested — Doctrine's introspectSchema() reads every table in the database, and foreign tables can use column types Doctrine has no mapping for, such as MySQL's native ENUM. In addition, the rename_duplicated_index_names migration collects index names from every table in the database, so foreign tables leak into the generated install schema (the bbdkp_register create step visible in the ticket's stack trace) and it fatals with array_keys(null) when no such table carries a secondary index.
This PR scopes schema operations to phpBB's own tables:
Verified end to end: a CLI install (install/phpbbcli.php install) into a MySQL database containing a pre-existing ENUM-typed table completes successfully (76 tables created, the foreign table untouched); on current master the same install fatals with the ticket's exact stack trace. Regression tests cover the Doctrine tools path per DBMS (MySQL ENUM, PostgreSQL CREATE TYPE … AS ENUM, SQLite unknown declared type) and the migration's index-name collection.
Checklist:
Tracker ticket:
https://tracker.phpbb.com/browse/PHPBB-17625