Registry of game providers (studios/aggregators) integrated into the platform. Used for organizing and filtering games in the frontend.
Relationships
- Associated with games via
value matching games.game_provider (logical relationship, not a foreign key)
Columns
| Column | Type | Nullable | Default | Description |
|---|
id | uuid | NO | gen_random_uuid() | Primary key |
label | varchar(255) | NO | | Display name of the provider shown to players (e.g., "Pragmatic Play", "Evolution Gaming") |
value | varchar(255) | NO | | Machine-readable identifier used in code and matched against games.game_provider. Must be unique. |
image_url | varchar(1024) | YES | | Provider logo URL |
created_at | timestamp | NO | CURRENT_TIMESTAMP | Record creation timestamp |
updated_at | timestamp | YES | CURRENT_TIMESTAMP | Last update timestamp |
Key Indexes
| Index | Columns | Notes |
|---|
providers_pkey | id | Primary key |
providers_value_key | value | Unique constraint |
idx_providers_value | value | Value lookup |
idx_providers_label_lower | lower(label) | Case-insensitive label search |
Business Rules
- The
value field is the canonical identifier that links providers to games via games.game_provider
- Provider records are typically synced from game aggregator APIs during game catalog imports
- The
label is used for display in provider filter dropdowns on the frontend
- Case-insensitive search on
label is supported via the lower(label) index