open-webui/backend/apps/webui/internal/migrations
Timothy J. Baek 120b1857b2 enh: valves
2024-06-23 18:05:33 -07:00
..
001_initial_schema.py
002_add_local_sharing.py
003_add_auth_api_key.py
004_add_archived.py
005_add_updated_at.py
006_migrate_timestamps_and_charfields.py
007_add_user_last_active_at.py
008_add_memory.py
009_add_models.py
010_migrate_modelfiles_to_models.py
011_add_user_settings.py
012_add_tools.py
013_add_user_info.py
014_add_files.py feat: file db migration 2024-06-18 11:38:50 -07:00
015_add_functions.py feat: function db migration 2024-06-20 00:49:11 -07:00
016_add_valves_and_is_active.py enh: valves 2024-06-23 18:05:33 -07:00
README.md

Database Migrations

This directory contains all the database migrations for the web app. Migrations are done using the peewee-migrate library.

Migrations are automatically ran at app startup.

Creating a migration

Have you made a change to the schema of an existing model? You will need to create a migration file to ensure that existing databases are updated for backwards compatibility.

  1. Have a database file (webui.db) that has the old schema prior to any of your changes.
  2. Make your changes to the models.
  3. From the backend directory, run the following command:
    pw_migrate create --auto --auto-source apps.webui.models --database sqlite:///${SQLITE_DB} --directory apps/web/internal/migrations ${MIGRATION_NAME}
    
    • $SQLITE_DB should be the path to the database file.
    • $MIGRATION_NAME should be a descriptive name for the migration.
  4. The migration file will be created in the apps/web/internal/migrations directory.