Serverless MySQL: v1.5.0 released
Posted in #serverless-mysql
Serverless MySQL v1.5.0 is a maintenance/security update that also adds a new feature to transaction handling allowing you to return null
queries to simplify conditional transaction workflows.
Simplified Conditional Transactions
You can now return a null
or empty response from .query()
calls within a transaction. This lets you perform conditional transactions like this:
javascriptlet results = await mysql.transaction() .query('DELETE FROM table WHERE id = ?', [someVar]) .query((r) => { if (r.affectedRows > 0) { ['UPDATE anotherTable SET x = 1 WHERE id = ?', [someVar]] } else { return null } }) .rollback(e => { /* do something with the error */ }) // optional .commit() // execute the queries
If the record to DELETE
doesn't exist, the UPDATE
will not be performed. If the UPDATE
fails, the DELETE
will be rolled back.
Feedback and contributions are always welcome on GitHub.
Updates include:
- Add support for empty queries in transactions c733279
- Add InnoDB note to README 6a80cc7
- Add documentation for null transaction queries 3de167a
- Lodash (dev dependency) version update (npm vulnerabilities) ae58d16
- Add files directive to package.json for smaller NPM module size 60df2b4
Check out the Serverless MySQL NPM module to see how simple it is to manage MySQL at Serverless Scale.