Latest Updates

Documenting code, one commit at a time.

Database Compatibility: Adapting Queries for PostgreSQL

When developing applications across different database systems, ensuring compatibility in your queries is crucial. Minor differences in SQL syntax can lead to unexpected errors and application downtime. Let's explore a practical example of adapting queries for PostgreSQL.

The Challenge: Date Extraction

MySQL provides functions like YEAR() and MONTH() to extract year and month values from

Read more

Clarifying Costs in Brenia's Consumption Dashboard

When building dashboards for complex applications like Brenia, it's crucial to ensure that labels are crystal clear, especially when dealing with financial data. Ambiguity can lead to misinterpretations and incorrect assumptions, impacting user trust and decision-making.

The Problem: Ambiguous Cost Labels

In Brenia's consumption dashboard, the initial labels for cost columns, specifically

Read more
PHP PostgreSQL

Improving Data Handling and Stability in Landing

The landing project focuses on creating engaging user experiences. Recent work has concentrated on refining data storage and ensuring application stability.

Addressing PostgreSQL DISTINCT Errors with JSONB

A recurring issue involved PostgreSQL's inability to efficiently use DISTINCT with JSON columns. This manifested as numerous daily errors, particularly within the Campaign editor's

Read more

Recovering PostgreSQL Report Functions in Laravel

Introduction

When performing database migrations, especially in multi-tenant environments, it's crucial to ensure all aspects of the schema are correctly applied to each tenant. This post explores a scenario in a Laravel application where PostgreSQL functions were unintentionally dropped during a tenant migration and how they were recovered.

The Problem: Silently Missing Functions

Read more
PHP PostgreSQL

Seeding PostgreSQL: Avoiding SQL Escaping Issues

When working with databases, especially PostgreSQL, ensuring data integrity during the seeding process is crucial. A common pitfall involves SQL escaping issues, particularly when dealing with special characters within string values.

The Problem: Escaping Hell in Seed Migrations

Initial attempts to populate a database often involve seed migrations. These migrations contain SQL statements to

Read more

Multi-Tenancy Done Right: Tenant-Specific Database Tables

When building a multi-tenant application with Laravel and PostgreSQL, handling data isolation is crucial. One effective approach is to use separate database schemas for each tenant. This provides a high level of isolation, ensuring that data from different tenants remains completely separate. Let's explore how this works in practice within the Reimpact platform.

The Problem: Shared Tables

Read more

Ensuring Data Integrity: Restoring Global Rates in a Laravel Application

Introduction

Maintaining data accuracy across all tenants in a multi-tenant application can be challenging. This post explores how to correct an issue where global rates were inadvertently made tenant-specific in a Laravel application, impacting data integrity.

The Problem: Tenant-Scoped Rates

Originally, the rates table was intended to store global rates applicable to all tenants.

Read more