Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A local SQLite file is not dependable shared storage for a stateless edge function. While building OptiQ, a sales-tracking app for small optical shops, Harry Agustiana caught that assumption before shipping and says he fixed the design by moving the database to managed Turso, accessed over HTTP. The lasting lesson is to match storage to both the execution environment and the relationships your application needs.

Why a local SQLite file was a deployment risk

OptiQ needed to track frames, lenses, complete pairs, soft contact lenses, and accessories. Agustiana initially planned to keep the SQLite database file alongside the application. That can work in a conventional server environment with a persistent disk, but it is not automatically safe in edge compute.

Edge function instances can be isolated and requests can run on different instances. A file written during one request is not necessarily available to the next, and it is not a durable, shared database merely because it exists in the application’s local filesystem. Agustiana described the risk this way: “A .db file written on one request could be gone — or inconsistent — by the next.” That is his account of the architecture and his project, not an independently reproduced incident. Read Agustiana’s account.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This explains a familiar failure pattern: code can behave as expected locally, where the database file remains on disk between runs, then fail after deployment when requests do not share the same persistent filesystem. The issue is the storage assumption, not necessarily the SQL statements.

What changed: connect the edge function to managed storage

Agustiana says he chose Turso, described in his article as managed SQLite/libSQL accessed over HTTP. The edge function could then send queries to a remote database instead of relying on a local file. He valued retaining relational features such as joins, constraints, and aggregates for OptiQ’s data needs. This reports his decision and rationale; it is not a current feature audit or performance comparison.

The broader design principle is to treat the function as a client of durable storage. Keep the database outside the transient execution environment, configure the connection for the deployed environment, and verify that a write made by one invocation can be read by a later one.

How the database options differed in Agustiana’s evaluation

Option What the article says Why it mattered to OptiQ
EdgeOne native KV Agustiana described it as fast and simple, but key-value rather than relational. He was concerned that indexes and aggregate queries for the app’s access patterns would have to be assembled in application code.
Supabase He described it as managed Postgres with a useful free tier. He also says he read that free projects paused after about seven days of inactivity and required manual restoration. The inactivity behavior was part of his evaluation, not a verified statement of current plan terms. Check the service’s current documentation before relying on it.
Turso He described it as managed SQLite/libSQL queried over HTTP and says he selected it. He wanted remote access from the edge function while keeping relational queries and constraints.

The useful comparison is not a universal ranking. Ask whether your data is relational, whether the runtime can reliably reach the chosen service, which queries you need, and what operational responsibilities and plan terms apply. The account does not establish current prices, free-tier limits, or comparative performance for these services.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Model optional prescriptions as optional relationships

Some OptiQ sales could be associated with a customer’s refraction data, but not every sale involved a prescription. A bottle of lens-cleaning solution, for example, should not require a fabricated prescription record.

Rank #3

Agustiana’s schema example uses a nullable refraction_id foreign key on a transaction. A null value represents a sale with no associated refraction record; a populated value links to the relevant record. This keeps the relationship in one transaction model rather than forcing fake data or separate tables for prescribed and non-prescribed sales. The application still needs validation and integrity rules that fit its actual business logic.

Diagnose persistence separately from deployment problems

A database that disappears between requests points to a storage or connection design issue. A failed build, missing output directory, or environment-specific configuration problem is a different class of failure. Tencent’s documentation offers several checks for distinguishing them.

Check which environment and configuration are active

EdgeOne Makers documents separate Production and Preview environments, each associated with its own branch, domain, and environment variables. Its build guide says changing environment variables does not alter deployments already created; the change takes effect in new deployments. If a database connection setting appears not to have changed, confirm the target environment and create a fresh deployment after updating it. See the EdgeOne Makers build guide.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Inspect deployment status and logs

Tencent’s deployment documentation describes production and preview targets, deployment status states, and build-log retrieval. A completed deployment returns a terminal status and, on success, a preview URL. Use that information to determine whether the application built and deployed successfully before investigating runtime database behavior. See the deployment documentation.

Check output-directory and project limits for build failures

Tencent’s troubleshooting guide recommends confirming the configured output directory and running a local build to find where the artifacts are produced when the directory is missing, empty, or invalid. It also lists a 5 GiB account storage capacity limit and a 20,000-file project limit; the retrieved page does not state a year for those figures. These are separate platform limits, not an explanation for the local-database persistence risk in Agustiana’s account. Read the troubleshooting guide.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

A practical pre-ship check for edge-backed data

  1. Identify where data lives. Confirm whether the database is on persistent shared storage or only in an application bundle or function instance.
  2. Test across invocations. Write a record in one request, then read it in a separate request. A local development run alone does not demonstrate that deployed instances share durable state.
  3. Match the store to your queries. List required joins, constraints, indexes, and aggregates before choosing between a relational database and key-value storage.
  4. Represent optional links honestly. Use a nullable foreign key when the relationship is truly optional, and enforce the validation rules the domain requires.
  5. Validate the deployment independently. Check the selected Preview or Production environment, its variables, the build logs, and the output directory before attributing every failure to the database.

Tencent Cloud presents Makers as a frontend development and deployment platform on EdgeOne infrastructure, with Preview intended for validating changes separately from production. A preview deployment is useful for checking the application’s wiring, but it does not by itself prove that data is durable; test persistence explicitly. See Tencent Cloud’s EdgeOne Makers overview.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.