Sébastien Rigaux

Tech watch

← All links

Databases

Storage, querying, consistency and operation of application data.

Banner reading “Multi-Tenant .NET, Part 4: Moving Day,” with moving boxes, a guild emblem, and an illustrated portrait.

This installment explains how to move a tenant from a shared database to a dedicated one without taking the application offline or disrupting other tenants. The catalog drives the switch, while the same EF Core model and query filter serve both isolation modes.

The migration uses an initial copy, a temporary read-only window, a delta copy, and verification before cutover. The runbook waits for the cache to expire before reopening writes, preventing instances that still hold the old connection from writing to the shared database after the switch.

BarretFound via C# Digest

A hand handles colorful network cables in front of rack-mounted equipment.

With one database per tenant, EF Core no longer needs a global query filter, a TenantId column, or a tenant-specific model cache key: the tenant is selected through a connection string resolved from a catalog database.

This isolation simplifies the model but shifts complexity to operations: each migration must be applied to every database. The article also explains how IDesignTimeDbContextFactory lets dotnet ef create the context without an active request or tenant.

BarretFound via C# Digest

NocoDB logo above the text “Build Databases As Spreadsheets, No-Coding Required” on a grid-patterned background.

NocoDB provides a spreadsheet-style interface for managing tables, views, and access controls without writing code. It combines grid, gallery, form, Kanban, and calendar views with REST APIs and an SDK for programmatic access.

Deployment options range from Docker with SQLite or PostgreSQL to an automated setup with PostgreSQL, Redis, Traefik, and SSL renewal. For production evaluation, note that the repository lists a Sustainable Use License, while its standalone binaries are intended for local testing.

Preview of the Azure/data-api-builder GitHub repository, showing the Azure logo and a project description.

Data API builder generates REST and GraphQL endpoints, as well as MCP tools, from Azure databases and on-premises stores. It supports several backends, including Azure SQL, SQL Server, PostgreSQL, MySQL and Cosmos DB, and runs in a container or locally during development.

Configuration defines entities and their permissions; DAB then translates requests into SQL. This layer reduces the API code teams need to maintain, while access remains shaped by the configuration and each database’s capabilities.