LogoLogo
  • AppFlowy
    • ⭐Start here
      • Welcome to AppFlowy Docs
      • How to get help
      • Install AppFlowy
    • 🛠️Installation
      • 🖥️System Requirements
      • 💿Installation methods
        • Mac / Windows / Linux Packages
          • Installing on Linux
            • Installing & Setting up Flutter on Linux from Source
        • Docker
    • 🌱Community
      • 🤙Get in contact
      • 📔AppFlowy Mentorship Program
        • Program Guidance
        • Proposal Template
        • Pull Request Template
        • Mentorship 2023
          • Mentee Projects
            • Calendar View for AppFlowy Database
            • Custom Themes
            • Shortcuts and Customized Hotkeys for AppFlowy
            • Table
            • ⭐Favorites
            • Code Block
            • Outlines
            • Importers
            • AI Writers
            • Templates
          • Project Ideas
      • ✍️Write for AppFlowy
        • 📃Drafts
          • [Draft] Use Case: Software Engineer
          • [Draft] Use Case: High School Students
          • [Draft] How to add a new property to appflowy database
      • 🍂Hacktoberfest
    • 🛣️Roadmap
    • 🌋Product
      • 💽Data Storage
      • 🎨Customize and Style Content
      • ⏮️Duplicate, Delete, and Restore
      • 💎Databases
        • 🔢Database Properties
        • 🗃️Manage Properties
      • Ⓜ️Markdown
      • ⌨️Shortcuts
      • 🪄AppFlowy AI
      • 🦙AppFlowy Local AI - Ollama
      • 🎨Themes
      • ☁️AppFlowy Cloud
      • 🧩AppFlowy Plugins
        • Table-view Databases
        • Kanban Board
        • Calendar
        • Auto Generator
        • Smart Edit
        • Code Blocks
        • Math Equations
        • Cover
        • Emoji
  • Documentation
    • 💎Software Contributions
      • 🟢Get started
      • 💀Architecture
        • Frontend
          • Tauri
            • 🗺️CodeMap
          • Web
            • 🌟Design Philosophy
          • Flutter
            • 🗺️Project Structure: CodeMap
            • 🧮Grid
            • ⚙️Setting
          • Inter-Process Communication
          • User
            • User Data
            • Events & Notifications
          • Folder
            • Events & Notifications
          • Document
          • Database View
            • Events & Notifications
            • Grid
            • Calendar
            • Kanban Board
        • Backend
          • Initialize
          • Events
          • Delta(WIP)
          • Profiling
          • Database
        • Domain Driven Design
        • Proposals
      • 🏗️Conventions
        • 🔤Naming Conventions
        • ⌨️Code Conventions
          • 🐦Flutter
        • 🐙Git Conventions
      • 💛Submitting Code
        • 🏦Setting Up Your Repositories
        • ⤴️Submitting your first Pull Request
      • 🤟Coding Standards and Practices
        • 👽Rust Backend
    • 🚀AppFlowy
      • 👾How to contribute to AppFlowy
      • 🏗️Building from Source
        • 🌳Flutter Setup
          • 🐧Building on Linux
          • 🍎Building on macOS
          • 🪟Building on Windows
        • 🌐Web Setup
        • 📡Tauri Setup
      • ☁️Debugging with AppFlowy Cloud
      • 🔁Debugging in VS Code
      • ☎️Translate AppFlowy
      • ❓Troubleshooting
      • 👮‍♀️Licenses
    • 🏍️AppFlowy Editor
      • ⌨️How to Implement Markdown Syntax To Style Text In AppFlowy Editor
      • 🧩How to Create a Plugin for AppFlowy Editor
      • 👮‍♀️Licenses
    • ☁️AppFlowy Cloud
      • 🌈Architecture
      • ☀️Deployment
  • Guides
    • Sync Desktop and Mobile
    • Self-Hosting AppFlowy
      • ☁️Self-hosting AppFlowy with AppFlowy Cloud
      • 🆓Self-hosting AppFlowy for free Using Supabase
    • Import From Notion
  • Blog Highlights
    • 🔮Demystifying AppFlowy Editor's Codebase
  • Handbook
    • Core values
Powered by GitBook
On this page
  • 💽 Data Storage
  • Import External AppFlowy Data
  • Migration from AppFlowy (Supabase) to Latest AppFlowy Version
  • Custom AppFlowy Data Folder
  • Restore Specific Local User Data Manually

Was this helpful?

Edit on GitHub
  1. AppFlowy
  2. Product

Data Storage

PreviousProductNextCustomize and Style Content

Last updated 9 months ago

Was this helpful?

💽 Data Storage

Import External AppFlowy Data

AppFlowy allows you to import data from an external 'AppFlowyDataDoNotRename' folder. It will merge all data from the chosen external folder into your current AppFlowy data folder.

To import, navigate to Settings --> Files --> Import Data from External AppFlowy Folder and select the external AppFlowy data folder you want to import.

Once the import is complete, the data from the external folder will be visible in your current AppFlowy data folder.

Migration from AppFlowy (Supabase) to Latest AppFlowy Version

Start by opening your AppFlowy (Supabase) application. Then, go to Settings --> Files --> Open current data directory to access the current data folder.

Next, compress all the AppFlowy application data into a ZIP file and save it in a new directory as illustrated here.

Unzip the folder, and then download the latest AppFlowy application. Open the application and start as anonymous user. Go to Settings --> Files --> Import Data from External AppFlowy Folder

Select the folder that just unzipped.

Custom AppFlowy Data Folder

When you launch the application the first time, you will be able to set the directory where you want to store your AppFlowy data. Click on Set to open the file explorer and choose your preferred path. In the example below, the data will be stored under G:\My Drive\05 Notes. Then click Quick Start.

Do not put the folder under your Google Drive.

You can always verify where your data is stored by going to Settings --> Files

To open another AppFlowy data folder, click on Change and choose your target folder.

Restore Specific Local User Data Manually

To restore specific local user data:

  1. Go to Settings > Files > Open current data directory to access your current data folder.

  2. Based on the cloud service you're using, locate the relevant folder:

    • For Local storage, use the data folder.

    • For Supabase, find the folder named with the hash value of the Supabase URL, like data_hash_value_of_supabase_url.

    • For AppFlowyCloud, look for a folder named with a hash value that represents the AppFlowy Cloud URL, such as data_have_appflowy_cloud_url.

Example:

  • The data_aHR0cHM6Ly9iZXRhLmFwcGZsb3d5LmNsb3Vk folder is associated with AppFlowy Cloud, where aHR0cHM6Ly9iZXRhLmFwcGZsb3d5LmNsb3Vk represents the hashed URL of AppFlowy Cloud.

  • The data folder is designated for Local storage.

Each folder follows a consistent structure:

  • cache.db: This is a cache database that stores key-value pairs to identify which user data should be loaded.

  • User data folders: Each folder, like 293088912954363904 and 278723408814936064, contains specific user data.

To restore specific user data, you must update the content of the appflowy_session_cache key in the cache.db.

The appflowy_session_cache key's content includes:

  1. user_id

  2. user_workspace

To find the user_id, check the log file for a specific date. Search for "session" within the log, and you'll find entries resembling:

{"msg":"init user session: xxxxxxx:[email protected]"}

This entry contains the user_id you need. after you get the user id. Let's say the id is 293088912954363904, then you can open the 293088912954363904 folder and using sqlite tool to open the flowy-database.db file.

Go to the user_workspace_table to find the workspace record for the user.

Once you have both the user_id and user_workspace. Open the cache.db and update these specific values in the appflowy_session_cache key's content.

After all these steps, you can restart the application and the specific user data will be restored.

If you're unsure about changing the data directory now, just select 'Quick Start' without making any changes. You can always modify the data directory later within the application. For cloud data storage options, see the guide.

🌋
💽
Self-Hosting AppFlowy Cloud
import.png
imported_view.png
data_directory.png
appflowy_data_folder.png
appflowy_data_folder.png
img.png
img_1.png
img.png
img_2.png