The package emulates a MySQL database from within Node.js, specifically designed for e2e testing.
Try it out at the playground.
⚠ The library is still under active development. It means that some features are not working and may be considered as invalid syntax or ignored.
⚠ Known limitations:
- No right join
- Default order might differ (always use
ORDER BY
when the order matters) - Column names might differ, f.e.
count(u.id)
=>COUNT(`u`.`id`)
(aliases fix it) - No timezone support
📃 TODO
-
ALTER
statement (in most casesALTER
even is not needed,synchronize
will do all the work) - Foreign key constraints
- Fill
INFORMATION_SCHEMA
tables -
DELETE ORDER BY field LIMIT number
-
UPDATE ORDER BY field LIMIT number
-
SELECT GROUP BY position/alias
-
SELECT ORDER BY position/alias
- Implement the most used functions
Just start from:
npm install mysql-emulator
Then it's ready to go:
import { query } from 'mysql-emulator';
await query(...);