🗄️ Database

Database Seeding

Seed the database with initial and demo data.

Overview

Gauzy seeds data automatically on first startup. The seeding system supports:

  • Default data — required for the system to function (roles, permissions, languages)
  • Demo data — example organization, employees, and activities for testing

Seed Architecture

Diagram; its source is available below
Diagram source
graph TB
    Start[API Startup] --> Check{First Run?}
    Check -->|Yes| Default[Seed Default Data]
    Check -->|No| Skip[Skip Seeding]
    Default --> Demo{Demo Mode?}
    Demo -->|Yes| DemoData[Seed Demo Data]
    Demo -->|No| Ready[API Ready]
    DemoData --> Ready

Configuration

# Enable demo data seeding
DEMO=true

# Seed on startup
IS_SEED=true

Default Seed Data

EntityData
Languages30+ languages
CountriesAll countries
CurrenciesMajor currencies
RolesSUPER_ADMIN, ADMIN, EMPLOYEE
PermissionsAll permission definitions
Feature TogglesDefault feature settings

Demo Seed Data

EntityData
Tenant"Ever Technologies"
OrganizationDemo organization
Admin Useradmin@ever.co / admin
Employees10+ demo employees
ProjectsSample projects
TasksSample tasks
Time LogsDemo time entries

Custom Seeding

// Create a custom seeder
export class CustomSeeder {
  async run(dataSource: DataSource): Promise<void> {
    const repo = dataSource.getRepository(MyEntity);
    await repo.save([{ name: "Item 1" }, { name: "Item 2" }]);
  }
}

Running Seeds Manually

# Run all seeds
yarn seed:all

# Run only default seeds
yarn seed:default

# Run only demo seeds
yarn seed:demo

Edit this page

Copyright © 2023-Present Ever Co. LTD.Docs by Sourcey