@@ -15,8 +15,8 @@ var DefaultIgnorePatterns = []string{"_created_at", "_updated_at", "_modified_at
1515// ListTables returns table names in the given schema
1616func (d * Driver ) ListTables (ctx context.Context , schema string , ignorePatterns []string ) ([]string , error ) {
1717 // In MySQL, the schema is often just the currently selected DB
18- query := "SELECT table_name FROM information_schema.tables WHERE table_schema = DATABASE() AND table_type = 'BASE TABLE'"
19- rows , err := d .db .QueryContext (ctx , query )
18+ query := "SELECT table_name FROM information_schema.tables WHERE table_schema = ? AND table_type = 'BASE TABLE'"
19+ rows , err := d .db .QueryContext (ctx , query , schema )
2020 if err != nil {
2121 return nil , err
2222 }
@@ -104,9 +104,9 @@ func getColumns(ctx context.Context, dbConn *sql.DB, schemaName, tableName strin
104104 AND c.TABLE_NAME = k.TABLE_NAME
105105 AND c.COLUMN_NAME = k.COLUMN_NAME
106106 AND k.CONSTRAINT_NAME = 'PRIMARY'
107- WHERE c.TABLE_SCHEMA = DATABASE() AND c.TABLE_NAME = ?
107+ WHERE c.TABLE_SCHEMA = ? AND c.TABLE_NAME = ?
108108 ORDER BY c.ORDINAL_POSITION`
109- rows , err := dbConn .QueryContext (ctx , query , tableName )
109+ rows , err := dbConn .QueryContext (ctx , query , schemaName , tableName )
110110 if err != nil {
111111 return nil , err
112112 }
@@ -140,10 +140,10 @@ func getIndexes(ctx context.Context, dbConn *sql.DB, schemaName, tableName strin
140140 INDEX_NAME = 'PRIMARY' AS is_primary,
141141 COLUMN_NAME
142142 FROM information_schema.STATISTICS
143- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ?
143+ WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?
144144 ORDER BY INDEX_NAME, SEQ_IN_INDEX`
145145
146- rows , err := dbConn .QueryContext (ctx , query , tableName )
146+ rows , err := dbConn .QueryContext (ctx , query , schemaName , tableName )
147147 if err != nil {
148148 return nil , err
149149 }
@@ -193,10 +193,10 @@ func getConstraints(ctx context.Context, dbConn *sql.DB, schemaName, tableName s
193193 FROM information_schema.TABLE_CONSTRAINTS tc
194194 JOIN information_schema.KEY_COLUMN_USAGE kcu
195195 ON tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME AND tc.TABLE_SCHEMA = kcu.TABLE_SCHEMA
196- WHERE tc.TABLE_SCHEMA = DATABASE() AND tc.TABLE_NAME = ? AND tc.CONSTRAINT_TYPE IN ('PRIMARY KEY', 'UNIQUE', 'CHECK')
196+ WHERE tc.TABLE_SCHEMA = ? AND tc.TABLE_NAME = ? AND tc.CONSTRAINT_TYPE IN ('PRIMARY KEY', 'UNIQUE', 'CHECK')
197197 ORDER BY tc.CONSTRAINT_NAME, kcu.ORDINAL_POSITION`
198198
199- rows , err := dbConn .QueryContext (ctx , query , tableName )
199+ rows , err := dbConn .QueryContext (ctx , query , schemaName , tableName )
200200 if err != nil {
201201 return nil , err
202202 }
@@ -239,10 +239,10 @@ func getForeignKeys(ctx context.Context, dbConn *sql.DB, schemaName, tableName s
239239 REFERENCED_TABLE_NAME,
240240 REFERENCED_COLUMN_NAME
241241 FROM information_schema.KEY_COLUMN_USAGE
242- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ? AND REFERENCED_TABLE_NAME IS NOT NULL
242+ WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? AND REFERENCED_TABLE_NAME IS NOT NULL
243243 ORDER BY CONSTRAINT_NAME, ORDINAL_POSITION`
244244
245- rows , err := dbConn .QueryContext (ctx , query , tableName )
245+ rows , err := dbConn .QueryContext (ctx , query , schemaName , tableName )
246246 if err != nil {
247247 return nil , err
248248 }
@@ -274,9 +274,9 @@ func getForeignKeys(ctx context.Context, dbConn *sql.DB, schemaName, tableName s
274274 var fks []types.ForeignKey
275275 for _ , name := range orderedNames {
276276 // fetch on update / delete
277- rcQuery := `SELECT UPDATE_RULE, DELETE_RULE FROM information_schema.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_SCHEMA = DATABASE() AND CONSTRAINT_NAME = ?`
277+ rcQuery := `SELECT UPDATE_RULE, DELETE_RULE FROM information_schema.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_SCHEMA = ? AND CONSTRAINT_NAME = ?`
278278 var onUpd , onDel string
279- if err := dbConn .QueryRowContext (ctx , rcQuery , name ).Scan (& onUpd , & onDel ); err == nil {
279+ if err := dbConn .QueryRowContext (ctx , rcQuery , schemaName , name ).Scan (& onUpd , & onDel ); err == nil {
280280 fkMap [name ].OnUpdate = onUpd
281281 fkMap [name ].OnDelete = onDel
282282 }
@@ -287,8 +287,8 @@ func getForeignKeys(ctx context.Context, dbConn *sql.DB, schemaName, tableName s
287287}
288288
289289func getViews (ctx context.Context , dbConn * sql.DB , schemaName string ) ([]types.View , error ) {
290- query := `SELECT TABLE_NAME, VIEW_DEFINITION FROM information_schema.VIEWS WHERE TABLE_SCHEMA = DATABASE() `
291- rows , err := dbConn .QueryContext (ctx , query )
290+ query := `SELECT TABLE_NAME, VIEW_DEFINITION FROM information_schema.VIEWS WHERE TABLE_SCHEMA = ? `
291+ rows , err := dbConn .QueryContext (ctx , query , schemaName )
292292 if err != nil {
293293 return nil , err
294294 }
0 commit comments