There are very few absolutes in software development. One of these would be “NEVER trust user input”. You should never run a database query involving user input without validating, sanitizing, and parameterizing the user-provided values. If you neglect to handle user input correctly, specifically parameterizing the data, your application will be vulnerable to attack from nefarious people. In this post, we will discuss how to parameterize user input in a Node.js application and how to use the SQL Template Tag module to make the process easier.
In a previous post, I showed how you can install MySQL on a Raspberry Pi. In this post, I will show how to capture GPS data and store that data as JSON in MySQL Document Store.
A while back, I wondered if it was possible to run MySQL on a Raspberry Pi. Not only is it possible, but it is not as complicated as I expected. Read on to find out how.
In a previous post, I talked about how we can leverage GitHub Actions to automate running tests whenever a commit is made to a specific branch of a GitHub repository. In this post, we will discuss one way we can harness GitHub Actions to apply database migration scripts to a MySQL HeatWave Database Service instance running in Oracle Cloud Infrastructure (OCI).
Recently, I have been talking about how to write and run tests for Node.js code that interacts with a MySQL database. These posts have included details on how to use third-party libraries such as Testcontainers to run the tests in a clean database and Knex to manage database changes. Today, I will discuss how to automate running these tests using GitHub Actions when code is pushed to a repository.
In previous posts, I discussed how we can use Testcontainers to more easily test code that interacts with a MySQL Database and code that interacts with MySQL Document Store. In yet another post, I demonstrated how to manage database migrations using Knex. This post will show how we can leverage Knex to incorporate database migrations into our testing workflow.
Ask anyone who has had a conversation with me over IM or email, and they will tell you I am a horrible typist. I was never a great typist, but was much better in high school. After graduating, it would be about 13 years before I would need to type again. So, it was like learning all over again.
I would like each and every one of you to join me and my good friends, Todd Sharp and Ray Camden, when we launch our new live stream, The Undefined Show, on September 11, 2023 at 8:00 PM Eastern. We will discuss a broad range of topics, primarily related to tech, coding, developer relations, and anything else that comes to mind.
As all developers know, one of the most critical parts of any project is tracking database changes (or migrations). These changes will likely need to be applied in a particular order, and they need to be applied to every environment in the development workflow. We should also be able to roll back these changes should things not go as expected. Knex (pronounced like konnex
) can help us manage these migrations, roll back changes, and assist in applying them to different environments.
In a previous post, I talked about how we can use Testcontainers to help make it easier to write tests for Node applications that interact with a MySQL database. In this post, we are going to discuss how we can write tests for Node applications that interact with MySQL Document Store - again using the MySQL Module for Testcontainers.