[DBAL-109] Doctrine/DBAL/Platforms/MySqlPlatform.php is missing test coverage around _getCreateTableSQL method Created: 12/Apr/11 Updated: 28/Dec/13 Resolved: 28/Dec/13
|Reporter:||Wil Moore III||Assignee:||Benjamin Eberlei|
In "Doctrine/DBAL/Platforms/MySqlPlatform.php", the following methods are public: getShowDatabasesSQL, getCreateDatabaseSQL, getDropDatabaseSQL, getDropTableSQL (easy to test); however, the "_getCreateTableSQL" method is not public.
Is there a specific reason for this difference?
As a result of this method not being tested, there is a "quote" method being called which doesn't exist.
The only way at this time to test for this case is to get an error when doing: $table->addOption('comment', '...');
I would suggest making the protected method public so it can be tested. I also suggest moving the options parsing out of _getCreateTableSQL into a helper method...this method seems a bit overloaded.
If agreed, I'm happy to take care of the cleanup. Just wanted to get some feedback on the ideas first.
|Comment by Benjamin Eberlei [ 18/Nov/11 ]|
This is an improvement
|Comment by Steve Müller [ 24/Jun/13 ]|
Is this issue still an issue? I neither see a "quote" method nor a "$table->addOption()" here...
|Comment by Steve Müller [ 28/Dec/13 ]|
Undefined method call fixed in commit: https://github.com/doctrine/dbal/commit/79e04e98895648e2a72075377dac13a3e7c7fd53