Skip to content

i-van/mysql-emulator

Repository files navigation

GitHub license npm version GitHub Workflow Status (with branch) npm downloads

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 cases ALTER 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

Usage

Just start from:

npm install mysql-emulator

Then it's ready to go:

import { query } from 'mysql-emulator';

await query(...);

Examples

About

MySQL Emulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published