DEV Community

loading...
Cover image for Freezer, a tool to help devs discover which records are created when some action is performed on any application that uses MySQL

Freezer, a tool to help devs discover which records are created when some action is performed on any application that uses MySQL

Lawrence Lagerlof
Avid Isaac Asimov reader. Backend and frontend developer.
・2 min read

The goal

The purpose of this tool is to shorten the learning curve necessary to understand the relationships between tables of any MySQL database.

How it works?

You are a developer, and sometimes you need to understand third-party applications, either to generate a report or to create a new feature. In theory would be enough to look at relationships, but real life applications tend to create several records in several tables that aren't always clear for the programmer just looking at the structure, and sometimes requiring a lot of research to understand what "that" button does in database. That's where the Freezer comes in.

Suppose you want to quickly know which tables receives new records, as well as what those records are, when you perform any action in any application installed in your computer (for development purposes). It's very easy:

1. With the Freezer application you click on the Freeze button.
2. With the other application you perform one or more operations.
3. Back on the Freezer you click on the What is New button.

Freezer will show you which records were inserted in all database's tables between the Freeze and What is New commands, and that is an excellent starting point to focus your attention to whatever feature you need to develop for that application, or data you need to extract from that database.

Use case

In this example I want to know which records are inserted in Moodle's database when an assignment is created.

I chose Moodle for this demo specifically because the complexity of its database, but you can connect to any MySQL database.

Freezer GIF showcase

The project

It's open source, easy to install and use. Just put it in your local web server, configure one or more databases and you are good to go.

GitHub logo llagerlof / freezer

Freezer is a tool to help developers to discover which database's records are inserted by other programs.

Freezer

Freezer is a tool to help developers discover which database records are created by some application's action and which tables received these new records because that action.

It makes much easier to spot these tables and its new records, understand how the third-party application interacts with the database and also how relationships are made.

Latest version

0.16.2

Currently only MySQL/MariaDB is supported.

Objective

The goal of this tool is to shorten the time that developers need to understand the structure of a given database identifying in which tables the third-party application, like Moodle, HumHub or Elgg for instance, inserts new records depending on the action the application performed, so the developer can focus directly on the tables that primarily matter for that specific action.

Or maybe you just want to quickly know which tables are affected by some application's action.

Freezer can connect to any MySQL/MariaDB database, not…

Discussion (0)