Database Doctor
Shows DuckGrow tables and repairs missing columns safely.
dg_streamers
| Field | Type | Null | Key | Default |
|---|
| id | int(11) | NO | PRI | |
| user_id | int(11) | NO | | 0 |
| channel_login | varchar(80) | YES | UNI | |
| channel_name | varchar(120) | YES | | |
| egg_progress | int(11) | YES | | 0 |
| active_duck_id | int(11) | YES | | |
| created_at | timestamp | YES | | current_timestamp() |
| updated_at | timestamp | YES | | current_timestamp() |
| channel | varchar(100) | NO | | |
| username | varchar(100) | NO | | |
| display_name | varchar(120) | NO | | |
| twitch_id | varchar(64) | NO | | |
| points | int(11) | NO | | 0 |
| enabled | tinyint(1) | NO | | 1 |
| channel_id | varchar(64) | NO | | |
| avatar | varchar(255) | NO | | |
| access_token | text | YES | | |
| refresh_token | text | YES | | |
| token_expires_at | int(11) | NO | | 0 |
dg_users
| Field | Type | Null | Key | Default |
|---|
| id | int(11) | NO | PRI | |
| twitch_id | varchar(64) | YES | UNI | |
| login | varchar(80) | YES | | |
| display_name | varchar(120) | YES | | |
| profile_image | text | YES | | |
| access_token | text | YES | | |
| refresh_token | text | YES | | |
| created_at | timestamp | YES | | current_timestamp() |
| updated_at | timestamp | YES | | current_timestamp() |
| avatar | text | YES | | |
| coins | int(11) | YES | | 0 |
| eggs | int(11) | YES | | 1 |
| channel | varchar(100) | NO | | |
| username | varchar(100) | NO | | |
| total_xp | int(11) | NO | | 0 |
| wins | int(11) | NO | | 0 |
| points | int(11) | NO | | 0 |
| xp | bigint(20) | NO | | 0 |
| level | int(11) | NO | | 1 |
dg_species
| Field | Type | Null | Key | Default |
|---|
| id | int(11) | NO | PRI | |
| name | varchar(120) | YES | | |
| rarity | varchar(40) | YES | | |
| description | text | YES | | |
| art | varchar(120) | YES | | |
| enabled | tinyint(4) | YES | | 1 |
| created_at | datetime | YES | | current_timestamp() |
| slug | varchar(80) | NO | | |
| image | varchar(255) | NO | | placeholder.png |
| weight | int(11) | NO | | 100 |
| hatch_xp | int(11) | NO | | 10 |
| image_url | varchar(255) | YES | | |
| base_xp | int(11) | NO | | 100 |
| display_name | varchar(140) | NO | | |
dg_ducks
| Field | Type | Null | Key | Default |
|---|
| id | int(11) | NO | PRI | |
| user_id | int(11) | NO | | 0 |
| owner_user_id | int(11) | NO | | 0 |
| streamer_id | int(11) | YES | | |
| duck_type_id | int(11) | YES | | |
| nickname | varchar(120) | YES | | |
| level | int(11) | YES | | 1 |
| xp | int(11) | YES | | 0 |
| happiness | int(11) | YES | | 50 |
| shiny_tier | int(11) | YES | | 0 |
| created_at | timestamp | YES | | current_timestamp() |
| species_id | int(11) | YES | | |
| shiny | varchar(30) | YES | | normal |
| source | varchar(80) | YES | | |
| channel | varchar(120) | YES | MUL | |
| updated_at | datetime | YES | | |
| username | varchar(100) | NO | MUL | |
| duck_name | varchar(120) | NO | | Duck |
| rarity | varchar(40) | NO | | Common |
| name | varchar(120) | NO | | Duck |
| is_shiny | tinyint(1) | NO | | 0 |
| image | varchar(255) | NO | | |
| points | int(11) | NO | MUL | 0 |
| image_url | varchar(255) | NO | | |
dg_activity
| Field | Type | Null | Key | Default |
|---|
| id | int(11) | NO | PRI | |
| user_id | int(11) | NO | | 0 |
| channel | varchar(120) | YES | MUL | |
| type | varchar(60) | YES | MUL | |
| message | text | YES | | |
| duck_id | int(11) | YES | | |
| created_at | datetime | YES | | |
| username | varchar(100) | NO | | |
| points | int(11) | NO | | 0 |
| action | varchar(80) | NO | | |
| detail | text | YES | | |
dg_daily
| Field | Type | Null | Key | Default |
|---|
| id | int(11) | NO | PRI | |
| user_id | int(11) | NO | MUL | 0 |
| day | date | YES | | |
| coins | int(11) | YES | | |
| eggs | int(11) | YES | | |
| created_at | datetime | YES | | |
| channel | varchar(100) | NO | | |
| username | varchar(100) | NO | | |
| claimed_date | date | YES | | |
| reward | varchar(120) | NO | | |
dg_bot_status
| Field | Type | Null | Key | Default |
|---|
| id | int(11) | NO | PRI | 1 |
| bot_name | varchar(120) | YES | | |
| status | varchar(40) | YES | | |
| channels | int(11) | YES | | 0 |
| last_seen | datetime | YES | | |
| message | text | YES | | |
| updated_at | datetime | YES | | |
| service | varchar(80) | NO | | duckgrow_bot |
| channel | varchar(100) | NO | MUL | global |
| last_heartbeat | timestamp | YES | | current_timestamp() |
| payload | text | YES | | |
dg_channel_points
| Field | Type | Null | Key | Default |
|---|
| id | int(11) | NO | PRI | |
| channel | varchar(100) | NO | MUL | |
| username | varchar(100) | NO | | |
| reward_title | varchar(180) | NO | | |
| points_cost | int(11) | YES | | 0 |
| message | text | YES | | |
| created_at | timestamp | YES | MUL | current_timestamp() |
| reward_name | varchar(160) | NO | | |
| cost | int(11) | NO | | 0 |
| command | varchar(100) | NO | | |
| effect | text | YES | | |
| enabled | tinyint(1) | NO | | 1 |
| reward_id | varchar(255) | NO | | |
dg_reward_map
| Field | Type | Null | Key | Default |
|---|
| id | int(11) | NO | PRI | |
| channel_id | varchar(64) | NO | | |
| reward_id | varchar(255) | NO | | |
| reward_title | varchar(180) | NO | | |
| points_cost | int(11) | NO | | 0 |
| created_at | timestamp | YES | | current_timestamp() |
| channel | varchar(100) | NO | | |
| command | varchar(100) | NO | | |
| enabled | tinyint(1) | NO | | 1 |