mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-02-19 23:25:51 -05:00
39 lines
1.6 KiB
Plaintext
39 lines
1.6 KiB
Plaintext
---
|
|
index: 10
|
|
---
|
|
|
|
# Database
|
|
|
|
### Schema
|
|
|
|
Our data schema is defined using Prisma, you can [view it on GitHub](https://github.com/spacedriveapp/spacedrive/blob/main/core/prisma/schema.prisma).
|
|

|
|
|
|
### Prisma Client Rust
|
|
|
|
We use Prisma Client Rust as a database ORM, it allows us to use Prisma to define our schema and generate migrations based on modifications to that schema.
|
|
|
|
### Migrations
|
|
|
|
Migrations are run by the Prisma migration engine on app launch.
|
|
|
|
### Database file
|
|
|
|
The databases file is SQLite and can be opened in any SQL viewer.
|
|
|
|

|
|
|
|
### Environment Variables
|
|
|
|
The following environment variables can be used to control database behavior:
|
|
|
|
- `SD_ACCEPT_DATA_LOSS`: When set to `"true"`, allows operations that might result in data loss. This should only be used in development or testing environments where data loss is acceptable.
|
|
|
|
- `SD_FORCE_RESET_DB`: When set to `"true"`, forces a reset of the database. This will clear all existing data. Use with extreme caution and only in development environments.
|
|
|
|
You can set these variables when running the app, e.g. `SD_ACCEPT_DATA_LOSS=true pnpm tauri dev`.
|
|
|
|
These environment variables are primarily used during development and testing. They should not be used in production environments unless you fully understand the implications.
|
|
|
|
⚠️ **Warning**: Setting these variables can result in permanent data loss. Use them only in development environments or when you explicitly need to reset or modify database behavior.
|