Latest Updates

Documenting code, one commit at a time.

Managing Configuration in Breniapp

Introduction

In the Breniapp project, maintaining a clean and synchronized configuration across different environments is crucial for stability and developer productivity. This post outlines recent changes focused on refining environment variables, specifically around OpenAI integration, Stripe price IDs, and session security.

Streamlining Environment Variables

One key aspect of managing

Read more
PHP OpenAI

Graceful Degradation: Prioritizing Reliability in AI-Powered Tasks

In the Breniapp/brenia project, we're focused on creating a reliable and efficient platform. Recently, we've been addressing the challenge of handling rate limits from AI providers and streamlining our active AI integrations.

The Problem: Brittle Integrations and Failed Jobs

Previously, when our application hit a rate limit from an AI provider, the job would simply fail.

Read more

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
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