Service

Move to Database-per-Tenant

Give every customer their own database, with a move planned so your app keeps running. We start with a fixed-price plan, so you know the cost first.

Migration plan
€2,500
Delivered in
5 working days
The move
Fixed quote

Excl. VAT · about $2,900 · Terms

Book a migration plan Starts on any Monday, after a 30-minute call.

What you get

Moving a live app to one database per customer is a big change, so we split it in two. First, a fixed-price plan that tells you what will move, in what order, and what it will cost. Then, if you want us to, we do the move at the price the plan names.

How the plan is made

Before day one: a 30-minute call about your customers, your data and why you want the separation.

Days 1–4: the review. We go through every table and decide which data is shared (users, plans, billing) and which belongs to a customer, and how existing rows will be split. We also look at queues, file storage, caches and scheduled tasks, which all need to know which customer they're working for.

Day 5: the plan. A written plan, the fixed quote for the move, and a 60-minute walkthrough with your team.

Built on Filament Tenancy

The move lands on Filament Tenancy, our plugin on top of stancl/tenancy. It handles subdomain or path identification, new customer databases created in the background, and a pool of database servers that new customers are spread across, so adding a server later is one line of config.

When it makes sense

Usually it's a SaaS whose larger customers have started asking for their data to be kept apart, or an app in a regulated industry where per-customer backups and data residency matter. It also suits teams that expect to spread customers across several database servers as they grow.

What you get

  • A map of every table: shared or per customer
  • How customers will be identified: subdomain or path
  • A plan for splitting existing data, customer by customer
  • A rollout in batches, with a way back at every step
  • Where the tenant databases will live, and how to add servers
  • A fixed quote and timeline for the move itself
  • A 60-minute call to walk through the plan

Not in this package

The plan is yours to use either way: your own team can carry out the move from it, or we can.

  • The migration itself (quoted in the plan)
  • Upgrading Laravel or Filament first, if needed (quoted separately)
  • Moving to a different hosting provider
  • Rewriting features that tenancy doesn't touch

How we work together

  • Payment: in full for the plan when you book. If we then do the move, the €2,500 is credited against its price.
  • Prices exclude VAT and are invoiced in EUR by XLITE TOWER SRL.
  • Days in the timeline are working days, Monday to Friday.
  • Day one starts once we have what we asked for before it, such as the brief and access to your accounts. Days spent waiting on answers move the delivery date by the same number of days.
  • Changes to the agreed scope are welcome. We quote them separately, at a fixed price.

Technology stack

Laravel 13 Filament 5 Filament Tenancy stancl/tenancy MySQL PostgreSQL

Frequently asked questions

Each customer's data sits apart from everyone else's, which makes enterprise security reviews, per-customer backups and restores, data residency and "delete everything about us" requests straightforward. A shared database with a team column is a fine choice for many apps; this package is for when you need the separation.
The plan is designed to keep it running. Customers move in batches, each one checked before the next, with a way back at every step.
The move lands on Filament 5, Laravel 13 and PHP 8.4 or newer. If your app is older, the plan includes the upgrade path, and we can do both.
The quote for the move includes a Filament Tenancy licence for your app, in your name. It is a paid plugin, and its prices are on packstub.dev.
Read access to the repository, the database schema (no customer data needed), and a 30-minute call about how customers sign up and use the app.

Planning the move to database-per-tenant?

Tell us roughly how many customers the app serves and why you want their data kept apart. That's enough for a first conversation.

Book a migration plan