New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistent SchemaManager API across platforms #4503
Milestone
Comments
morozov
added a commit
to morozov/dbal
that referenced
this issue
Apr 1, 2021
morozov
added a commit
to morozov/dbal
that referenced
this issue
Apr 2, 2021
morozov
added a commit
to morozov/dbal
that referenced
this issue
Apr 2, 2021
morozov
added a commit
to morozov/dbal
that referenced
this issue
Apr 2, 2021
…eExistingSchemaSearchPaths()
morozov
added a commit
to morozov/dbal
that referenced
this issue
Apr 3, 2021
…eExistingSchemaSearchPaths()
morozov
added a commit
to morozov/dbal
that referenced
this issue
Apr 3, 2021
morozov
added a commit
that referenced
this issue
Apr 4, 2021
[GH-4503] Mark OracleSchemaManager methods internal
morozov
added a commit
to morozov/dbal
that referenced
this issue
Apr 10, 2021
morozov
added a commit
that referenced
this issue
Apr 10, 2021
[GH-4503] Make OracleSchemaManager::dropAutoincrement() protected
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Some
ShemaManager
subclasses have public methods that don't exist in the base class, e.g.PostgreSQLSchemaManager#getSchemaNames()
.The downside of this is that it's impossible to analyze such code statically:
dbal/tests/Doctrine/Tests/DBAL/Functional/Schema/PostgreSqlSchemaManagerTest.php
Line 58 in ffbfa1c
Not sure if it's possible to enforce it via automation, but for the classes that are instantiated dynamically (drivers, platforms) we should be aiming towards not allowing the methods that aren't described in the base class or implemented interface(s).
So far, the following can be improved:
PostgreSQLSchemaManager#getSchemaNames()
– could be declared in the base class with an empty implementation.PostgreSQLSchemaManager#getExistingSchemaSearchPaths()
,PostgreSQLSchemaManager#determineExistingSchemaSearchPaths()
,OracleSchemaManager#dropAutoincrement()
– used only internally by aprotected
method. Could be marked internal and then made protected in the next major.The text was updated successfully, but these errors were encountered: