From simulated data to real PostgreSQL: completing the database of an app built with AI
Published on 2026-10-27 by frfrand
How to turn a prototype with mocks into a secure PostgreSQL app: schema, integrity, migrations, transactions, and backups.

The hidden problem of demos with perfect tables
Many AI-generated apps seem to store products, invoices, or reservations, but their data is in arrays within the frontend. When reloading or accessing from another computer, they disappear. To turn that interface into a product, you need a shared data source and a backend that controls permissions and transactions.
Design entities, not just columns
Define customers, orders, products, and relationships. Create primary keys, foreign keys, indexes, and uniqueness constraints where appropriate. Schema migrations must be versioned, to know what changed in each release. The application uses a limited-privilege SQL user; administrative operations and backups are separated. A copy that you have never tested restoring does not offer a real recovery guarantee.
Example: two people reserve the same space
An academy has a single spot at 4:00 PM. Two requests arrive almost simultaneously and both first perform a SELECT that says "available". If there is no appropriate transaction or constraint, both can confirm. You add database integrity, transactional logic, and a concurrency test. The system must create exactly one reservation and give a clear message to the second user.
Practical steps
1. List all data that is currently simulated in the frontend. 2. Design PostgreSQL schema and minimal necessary relationships. 3. Version migrations and write integrity tests. 4. Create backend with parameterized queries and validations. 5. Configure SQL roles, secrets, and connections. 6. Test backups, restoration, and concurrent behavior.
PostgreSQL on a VPS or managed
A managed database simplifies operational tasks; a self-hosted installation offers control but requires patches, maintenance, and recovery. Do not choose based solely on monthly price: calculate tolerable data loss and maximum recovery time.
Frequently asked questions
### Can I connect React directly to the database? No, by exposing a private SQL password in the browser: use a secure API or service designed for client access with policies. ### What are migrations? Versioned schema changes that can be applied in a controlled manner. ### Is a CSV backup sufficient? Not necessarily: structure, relationships, permissions, and files also matter. ### Is Redis mandatory? No; it is added only if caching or queue needs justify it.
Sources
PostgreSQL Backup · Django Deployment Checklist.
The role of ArduMaker and the migration service
The ArduMaker infrastructure can host the project via VPS and compatible services, but it does not automatically turn a prototype into secure software. ardumaker.com/lovable is planned as a page to present a migration and deployment service for AI-generated code to production; it has not been created yet. We are not claiming that an automatic importer already exists. Each case requires code, dependency, data, domain, testing, and support review. The current platform can be consulted at ArduMaker.
Editorial review: October 2026. Check the requirements of each framework before making changes in production and keep restorable copies.

What the photograph shows
Programmer reviewing the data structure of an application. Illustrative photograph generated for this article about taking code created with AI to a production application; it is not an official capture of the tool nor does it demonstrate a specific implementation.
Related readings from ArduMaker
- Migrate Lovable Cloud to your own Supabase: users, data, files, and functions - Migrate Bolt Cloud data to PostgreSQL: orders, users, and storage - Python API made with AI: moving FastAPI or Django from development to production
Choose between keeping managed services or migrating to your own infrastructure based on tests and requirements, not on one-click promises.