Bug Report: Issue with getTableNames
in Yii2 Schema Handling on sqlite3 database
#20262
Labels
type:bug
Bug
getTableNames
in Yii2 Schema Handling on sqlite3 database
#20262
Summary:
There is a bug in the
findTableNames
method of theSchema
class in Yii2 that affects the retrieval of table names when a schema is specified. The current implementation does not correctly handle the schema prefix, leading to incorrect SQL queries for SQLite databases.Environment:
Description:
The method
findTableNames
is designed to return distinct table names from the SQLite database. However, when a schema is provided, the SQL query constructed does not correctly reference thesqlite_master
table. The modification proposed in the code snippet aims to prepend the schema to thesqlite_master
reference.Code Snippet:
Expected Behavior:
When calling
findTableNames('my_schema')
, the expected SQL should be:This query should return all table names under the specified schema.
Actual Behavior:
The current implementation returns the table names of the
main
database.Steps to Reproduce:
findTableNames
method with the schema namesecond_schema
as a parameter.References:
Citations:
[1] https://www.yiiframework.com/doc/api/2.0/yii-db-schema
[2] https://www.yiiframework.com/doc/api/2.0/yii-db-mysql-schema
[3] https://www.yiiframework.com/doc/api/2.0/yii-db-sqlite-schema
[4] https://forum.yiiframework.com/t/cdbschema-findtablenames-not-part-of-schemacachingduration/73388
[5] #8096
[6] yiisoft/yii#2299
[7] https://forum.yiiframework.com/t/table-name-issue-in-oracle-db-and-yii2/79566
[8] https://www.yiiframework.com/doc/api/2.0/yii-db-oci-schema
The text was updated successfully, but these errors were encountered: