ts-mysql-analyzer
A MySQL query analyzer.
Features
- Detects MySQL syntax errors
- Detects invalid table names/column names (powered by your schema)
- Type checking (powered by your schema)
- Optimization suggestions (e.g. query for column with missing index)
- Supports custom parser options (e.g. MySQL version, character sets, etc.)
- Supports multiple statements
Installation
yarn add ts-mysql-analyzer# or npm install ts-mysql-analyzer
Usage
// "'SELT' is not valid at this position."console.loganalyzer.analyze'SELT * FROM user' // "Table 'invalid_table' does not exist in database 'test'. Did you mean 'posts'?"console.loganalyzer.analyze'SELECT * FROM invalid_table' // "Column 'invalid_column' does not exist in table 'users'. Did you mean 'name'?"console.loganalyzer.analyze'SELECT invalid_column FROM users' // "Type boolean is not assignable to type string."console.loganalyzer.analyze'SELECT * FROM users WHERE id = true' // "You can optimize this query by adding a MySQL index for column 'name'."console.loganalyzer.analyze'SELECT * FROM users WHERE name = "some-name"'
Related
- ts-mysql-parser - A standalone, grammar-complete MySQL parser
- ts-mysql-schema - A schema extractor for MySQL
- ts-mysql-uri - Parse a MySQL connection URI
- ts-antlr4-scanner - A scanner for antlr4-based lexers
License
stevenmiller888.github.io · GitHub @stevenmiller888 · Twitter @stevenmiller888