MySQL Emulator
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) - [x] Foreign key constraints
- [ ] Fill
INFORMATION_SCHEMA
tables - [x]
DELETE ORDER BY field LIMIT number
- [x]
UPDATE ORDER BY field LIMIT number
- [x]
SELECT GROUP BY position/alias
- [x]
SELECT ORDER BY position/alias
- [ ] Implement the most used functions
Usage
Just start from:
npm install mysql-emulator
Then it's ready to go:
import { query } from 'mysql-emulator';
await query(...);