Latest Updates

Documenting code, one commit at a time.

Robust Data Handling in PostgreSQL Dashboard Functions

Introduction

The Reimpact platform leverages PostgreSQL for its data storage needs. Ensuring data integrity and accurate comparisons within dashboard functions is crucial for reliable reporting and analysis. Recent work focuses on addressing data type inconsistencies that can lead to unexpected errors and inaccurate results.

The Problem

In the PostgreSQL database, the `products.

Read more

Explicit Type Casting in PostgreSQL Functions: A Must-Do

Ever faced a baffling error message that seemed to defy logic? In the Reimpact platform, we encountered a particularly frustrating issue in our PostgreSQL dashboard functions. The symptom? A cryptic 42883 error cropping up across all Packaging dashboard widgets.

The culprit turned out to be PostgreSQL's strictness regarding implicit type casting. Specifically, it doesn't automatically convert

Read more

Enhancing Data Visualization in Filament with PostgreSQL Functions

Introduction

This post explores how the Reimpact/platform project enhanced its Filament-based dashboard by leveraging PostgreSQL functions to improve data visualization. The focus was on creating a more insightful and efficient packaging dashboard.

From MySQL to PostgreSQL: A Performance Shift

The initial implementation relied on MySQL stored procedures. To optimize performance and

Read more

Enhancing User Experience with Filament Impersonation

Introduction

The Reimpact platform is undergoing improvements to enhance user experience and administrative capabilities. A key feature recently added is the ability for administrators to impersonate users, streamlining support and testing processes. This post will explore the implementation of Filament impersonation and associated fixes.

The Problem

Previously, the platform relied on a

Read more

Improving Data Synchronization in Platform: Addressing Foreign Key Constraints and Memory Usage

Introduction

The Reimpact/platform project encountered challenges during data synchronization, specifically with foreign key constraints and memory exhaustion issues. This post outlines the problem, the solution implemented, and key takeaways for managing large-scale data transfers.

The Challenge

During the synchronization of a large dataset (1.45M rows) from a production MySQL database

Read more
PHP PostgreSQL

Preventing PostgreSQL Errors with Data Type Validation

Introduction

When working with databases, especially PostgreSQL, ensuring data types match between your application and the database schema is crucial. Mismatched data types can lead to unexpected errors and application instability. One common pitfall is attempting to insert an integer into a UUID column.

The Problem

In the Reimpact platform, a recent issue arose where an integer value

Read more

Improving Database Compatibility and Code Maintainability in Laravel Projects

Introduction

Maintaining compatibility across different database systems and ensuring code consistency can be challenging in large Laravel projects. This post outlines how the Reimpact/platform project addressed these issues, specifically focusing on PostgreSQL compatibility and tenant table management.

The Challenge

When developing applications that need to support multiple database

Read more

Evolving Database Schemas with PostgreSQL Compatibility in Mind

When working on Reimpact's platform, we often encounter scenarios where database schema changes are necessary to accommodate new features or optimize existing functionalities. Ensuring compatibility across different database systems, especially PostgreSQL, requires careful consideration and attention to detail.

The Challenge of Foreign Keys in PostgreSQL

PostgreSQL enforces strict type

Read more

Refactoring Database Schemas for Module-Specific Tables

We've been working on the Reimpact/platform project, and recently tackled a significant refactoring of our database schema. Our initial design had a mix of shared and module-specific tables within each tenant schema, which led to some challenges as the platform grew.

The primary goal of this refactoring was to improve modularity and maintainability by clearly separating module-specific data.

Read more

Scaling with Schemas: Multi-Tenancy Migration in Laravel

The Reimpact platform is undergoing a significant architectural shift, moving from a MySQL row-level multi-tenancy model to a more robust PostgreSQL schema-per-tenant setup. This post dives into the key considerations and steps involved in this migration, leveraging Laravel and Filament.

The Motivation for Schema-Based Tenancy

Row-level multi-tenancy in MySQL, while initially simpler to

Read more