When cup notes were removed, the blank lines left between --cafe-id and --rating broke shell line continuations, causing --rating to be interpreted as a command.
1737 lines
No EOL
70 KiB
Bash
Executable file
1737 lines
No EOL
70 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
cargo build
|
|
|
|
BREWLOG_TOKEN="$(./target/debug/brewlog token create --name "bootstrap-token" --username admin --password password | grep -Po "BREWLOG_TOKEN=\K.+$")"
|
|
export BREWLOG_TOKEN
|
|
|
|
if [[ -z "$BREWLOG_TOKEN" ]]; then
|
|
echo "Error: BREWLOG_TOKEN environment variable is not set."
|
|
exit 1
|
|
fi
|
|
|
|
# Tim Wendelboe (Norway)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Tim Wendelboe" \
|
|
--country "Norway" \
|
|
--city "Oslo" \
|
|
--homepage "https://timwendelboe.no"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Tim Wendelboe") | .id')" \
|
|
--name "Ben Saïd Natural" \
|
|
--origin "Ethiopia" \
|
|
--region "Sidamo" \
|
|
--producer "Ben Saïd" \
|
|
--process "Natural" \
|
|
--tasting-notes "Bergamot, Apricot, Floral"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Tim Wendelboe") | .id')" \
|
|
--name "Finca Tamana Washed" \
|
|
--origin "Colombia" \
|
|
--region "El Pital, Huila" \
|
|
--producer "Elias Roa" \
|
|
--process "Washed" \
|
|
--tasting-notes "Red Apple, Vanilla, Caramel"
|
|
|
|
|
|
# Coffee Collective (Denmark)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Coffee Collective" \
|
|
--country "Denmark" \
|
|
--city "Copenhagen" \
|
|
--homepage "https://coffeecollective.dk"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Coffee Collective") | .id')" \
|
|
--name "Daterra Sweet Collection" \
|
|
--origin "Brazil" \
|
|
--region "Cerrado" \
|
|
--producer "Daterra" \
|
|
--process "Pulped Natural" \
|
|
--tasting-notes "Hazelnut, Milk Chocolate, Yellow Fruit"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Coffee Collective") | .id')" \
|
|
--name "Kieni" \
|
|
--origin "Kenya" \
|
|
--region "Nyeri" \
|
|
--producer "Kieni Factory" \
|
|
--process "Washed" \
|
|
--tasting-notes "Currant, Black Tea, Grape"
|
|
|
|
|
|
# Drop Coffee (Sweden)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Drop Coffee" \
|
|
--country "Sweden" \
|
|
--city "Stockholm" \
|
|
--homepage "https://dropcoffee.com"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Drop Coffee") | .id')" \
|
|
--name "La Linda" \
|
|
--origin "Bolivia" \
|
|
--region "Caranavi" \
|
|
--producer "Pedro Rodriguez" \
|
|
--process "Washed" \
|
|
--tasting-notes "Red Apple, Caramel, Floral"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Drop Coffee") | .id')" \
|
|
--name "El Sunzita" \
|
|
--origin "El Salvador" \
|
|
--region "Ahuachapan" \
|
|
--producer "Jorge Raul Rivera" \
|
|
--process "Natural" \
|
|
--tasting-notes "Strawberry, Mango, Dark Chocolate"
|
|
|
|
|
|
# La Cabra (Denmark)
|
|
./target/debug/brewlog roaster add \
|
|
--name "La Cabra" \
|
|
--country "Denmark" \
|
|
--city "Aarhus" \
|
|
--homepage "https://www.lacabra.dk"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="La Cabra") | .id')" \
|
|
--name "Halo Beriti" \
|
|
--origin "Ethiopia" \
|
|
--region "Yirgacheffe" \
|
|
--producer "Halo Beriti Cooperative" \
|
|
--process "Washed" \
|
|
--tasting-notes "Jasmine, Lemon, Stone Fruit"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="La Cabra") | .id')" \
|
|
--name "Cerro Azul" \
|
|
--origin "Colombia" \
|
|
--region "Valle del Cauca" \
|
|
--producer "Granja La Esperanza" \
|
|
--process "Washed" \
|
|
--tasting-notes "Blueberry, Plum, Grapefruit"
|
|
|
|
|
|
# April Coffee (Denmark)
|
|
./target/debug/brewlog roaster add \
|
|
--name "April Coffee" \
|
|
--country "Denmark" \
|
|
--city "Copenhagen" \
|
|
--homepage "https://aprilcoffeeroasters.com"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="April Coffee") | .id')" \
|
|
--name "El Salvador Pacamara" \
|
|
--origin "El Salvador" \
|
|
--region "Santa Ana" \
|
|
--producer "Ernesto Menendez" \
|
|
--process "Honey" \
|
|
--tasting-notes "Grapefruit, Sugar Cane, Plum"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="April Coffee") | .id')" \
|
|
--name "Guji Highland" \
|
|
--origin "Ethiopia" \
|
|
--region "Guji" \
|
|
--producer "Andualem Abebe" \
|
|
--process "Natural" \
|
|
--tasting-notes "Peach, Strawberry, Cream"
|
|
|
|
|
|
# Assembly Coffee (UK)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Assembly Coffee" \
|
|
--country "United Kingdom" \
|
|
--city "London" \
|
|
--homepage "https://assemblycoffee.co.uk"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Assembly Coffee") | .id')" \
|
|
--name "Kochere" \
|
|
--origin "Ethiopia" \
|
|
--region "Yirgacheffe" \
|
|
--producer "Kochere Region Growers" \
|
|
--process "Washed" \
|
|
--tasting-notes "Peach, Lemon, Jasmine"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Assembly Coffee") | .id')" \
|
|
--name "La Laja" \
|
|
--origin "Mexico" \
|
|
--region "Veracruz" \
|
|
--producer "La Laja Estate" \
|
|
--process "Natural" \
|
|
--tasting-notes "Cherry, Milk Chocolate, Praline"
|
|
|
|
|
|
# Square Mile (UK)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Square Mile Coffee" \
|
|
--country "United Kingdom" \
|
|
--city "London" \
|
|
--homepage "https://squaremilecoffee.com"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Square Mile Coffee") | .id')" \
|
|
--name "Red Brick Espresso" \
|
|
--origin "Blend" \
|
|
--region "Multiple Origins" \
|
|
--producer "Various" \
|
|
--process "Washed, Natural" \
|
|
--tasting-notes "Berry, Chocolate, Citrus"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Square Mile Coffee") | .id')" \
|
|
--name "Kamwangi" \
|
|
--origin "Kenya" \
|
|
--region "Kirinyaga" \
|
|
--producer "Kamwangi Factory" \
|
|
--process "Washed" \
|
|
--tasting-notes "Blackcurrant, Rhubarb, Blood Orange"
|
|
|
|
|
|
# Dak Coffee Roasters (Netherlands)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Dak Coffee Roasters" \
|
|
--country "Netherlands" \
|
|
--city "Amsterdam" \
|
|
--homepage "https://www.dakcoffeeroasters.com"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Dak Coffee Roasters") | .id')" \
|
|
--name "El Paraiso 92 Anaerobic" \
|
|
--origin "Colombia" \
|
|
--region "Cauca" \
|
|
--producer "Diego Bermudez" \
|
|
--process "Thermal Shock Anaerobic" \
|
|
--tasting-notes "Passionfruit, Raspberry, Yogurt"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Dak Coffee Roasters") | .id')" \
|
|
--name "Oreti SL28" \
|
|
--origin "Kenya" \
|
|
--region "Kirinyaga" \
|
|
--producer "Oreti Estate" \
|
|
--process "Washed" \
|
|
--tasting-notes "Grapefruit, Blackcurrant, Plum"
|
|
|
|
|
|
# Bonanza Coffee (Germany)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Bonanza Coffee" \
|
|
--country "Germany" \
|
|
--city "Berlin" \
|
|
--homepage "https://www.bonanzacoffee.de"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Bonanza Coffee") | .id')" \
|
|
--name "Gatomboya" \
|
|
--origin "Kenya" \
|
|
--region "Nyeri" \
|
|
--producer "Gatomboya Cooperative" \
|
|
--process "Washed" \
|
|
--tasting-notes "Blackcurrant, Lime, Tomato"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Bonanza Coffee") | .id')" \
|
|
--name "Los Pirineos" \
|
|
--origin "El Salvador" \
|
|
--region "Usulután" \
|
|
--producer "Gilberto Baraona" \
|
|
--process "Honey" \
|
|
--tasting-notes "Maple, Fudge, Green Apple"
|
|
|
|
|
|
# Friedhats (Netherlands)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Friedhats" \
|
|
--country "Netherlands" \
|
|
--city "Amsterdam" \
|
|
--homepage "https://friedhats.com"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Friedhats") | .id')" \
|
|
--name "Sidamo Guji" \
|
|
--origin "Ethiopia" \
|
|
--region "Guji" \
|
|
--producer "Smallholders" \
|
|
--process "Natural" \
|
|
--tasting-notes "Peach, Raspberry, Rosehip"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Friedhats") | .id')" \
|
|
--name "La Esmeralda Geisha" \
|
|
--origin "Panama" \
|
|
--region "Boquete" \
|
|
--producer "Hacienda La Esmeralda" \
|
|
--process "Washed" \
|
|
--tasting-notes "Jasmine, Bergamot, Papaya"
|
|
|
|
|
|
# Origin Coffee (UK)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Origin Coffee" \
|
|
--country "United Kingdom" \
|
|
--city "Porthleven" \
|
|
--homepage "https://origincoffee.co.uk"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Origin Coffee") | .id')" \
|
|
--name "San Fermin" \
|
|
--origin "Colombia" \
|
|
--region "Tolima" \
|
|
--producer "San Fermin Smallholders" \
|
|
--process "Washed" \
|
|
--tasting-notes "Red Grape, Caramel, Blood Orange"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Origin Coffee") | .id')" \
|
|
--name "Aricha" \
|
|
--origin "Ethiopia" \
|
|
--region "Yirgacheffe" \
|
|
--producer "Aricha Washing Station" \
|
|
--process "Washed" \
|
|
--tasting-notes "Honey, Peach, Black Tea"
|
|
|
|
|
|
# Dark Arts Coffee (UK)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Dark Arts Coffee" \
|
|
--country "United Kingdom" \
|
|
--city "London" \
|
|
--homepage "https://www.darkartscoffee.co.uk"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Dark Arts Coffee") | .id')" \
|
|
--name "Death to Decaf" \
|
|
--origin "Brazil" \
|
|
--region "Minas Gerais" \
|
|
--producer "Carmo de Minas" \
|
|
--process "Swiss Water Decaf" \
|
|
--tasting-notes "Cocoa, Cherry, Almond"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Dark Arts Coffee") | .id')" \
|
|
--name "Snoop" \
|
|
--origin "Guatemala" \
|
|
--region "Huehuetenango" \
|
|
--producer "Various Smallholders" \
|
|
--process "Washed" \
|
|
--tasting-notes "Toffee, Green Apple, Plum"
|
|
|
|
|
|
# KAWA Coffee (France)
|
|
./target/debug/brewlog roaster add \
|
|
--name "KAWA Coffee" \
|
|
--country "France" \
|
|
--city "Paris" \
|
|
--homepage "https://www.kawa.coffee"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="KAWA Coffee") | .id')" \
|
|
--name "Sudan Rume" \
|
|
--origin "Colombia" \
|
|
--region "Cauca" \
|
|
--producer "Granja La Esperanza" \
|
|
--process "Natural" \
|
|
--tasting-notes "Strawberry, Cinnamon, Grape"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="KAWA Coffee") | .id')" \
|
|
--name "Arbegona" \
|
|
--origin "Ethiopia" \
|
|
--region "Sidama" \
|
|
--producer "Arbegona Washing Station" \
|
|
--process "Washed" \
|
|
--tasting-notes "Violet, Apricot, Lemon"
|
|
|
|
|
|
# Stow Coffee (Slovenia)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Stow Coffee" \
|
|
--country "Slovenia" \
|
|
--city "Ljubljana" \
|
|
--homepage "https://www.stowcoffee.com"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Stow Coffee") | .id')" \
|
|
--name "Santa Barbara" \
|
|
--origin "Honduras" \
|
|
--region "Santa Barbara" \
|
|
--producer "Benjamin Paz" \
|
|
--process "Honey" \
|
|
--tasting-notes "Red Currant, Honeydew, Cocoa"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Stow Coffee") | .id')" \
|
|
--name "Suke Quto" \
|
|
--origin "Ethiopia" \
|
|
--region "Guji" \
|
|
--producer "Tesfaye Bekele" \
|
|
--process "Natural" \
|
|
--tasting-notes "Blackberry, Vanilla, Jasmine"
|
|
|
|
|
|
# Bows Coffee (Canada)
|
|
./target/debug/brewlog roaster add \
|
|
--name "Bows Coffee" \
|
|
--country "Canada" \
|
|
--city "Victoria" \
|
|
--homepage "https://bowscoffee.com"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Bows Coffee") | .id')" \
|
|
--name "La Chumeca" \
|
|
--origin "Costa Rica" \
|
|
--region "Tarrazú" \
|
|
--producer "Doña Olga Jiménez" \
|
|
--process "White Honey" \
|
|
--tasting-notes "Mandarin, Honeycomb, Almond"
|
|
|
|
./target/debug/brewlog roast add \
|
|
--roaster-id "$(./target/debug/brewlog roaster list | jq -r '.[] | select(.name=="Bows Coffee") | .id')" \
|
|
--name "Simbi" \
|
|
--origin "Rwanda" \
|
|
--region "Huye" \
|
|
--producer "Simbi Co-op" \
|
|
--process "Washed" \
|
|
--tasting-notes "Black Tea, Orange, Cane Sugar"
|
|
|
|
# ============================================================================
|
|
# Cafes - 10 cafes across London, Madrid, Berlin, Munich, and Bristol
|
|
# ============================================================================
|
|
|
|
# London - Monmouth Coffee (Borough Market)
|
|
./target/debug/brewlog cafe add \
|
|
--name "Monmouth Coffee" \
|
|
--city "London" \
|
|
--country "United Kingdom" \
|
|
--latitude 51.5055 \
|
|
--longitude -0.0910 \
|
|
--website "https://www.monmouthcoffee.co.uk"
|
|
|
|
# London - Prufrock Coffee
|
|
./target/debug/brewlog cafe add \
|
|
--name "Prufrock Coffee" \
|
|
--city "London" \
|
|
--country "United Kingdom" \
|
|
--latitude 51.5246 \
|
|
--longitude -0.1098 \
|
|
--website "https://www.prufrockcoffee.com"
|
|
|
|
# Madrid - Hola Coffee
|
|
./target/debug/brewlog cafe add \
|
|
--name "Hola Coffee" \
|
|
--city "Madrid" \
|
|
--country "Spain" \
|
|
--latitude 40.4285 \
|
|
--longitude -3.7025 \
|
|
--website "https://www.holacoffee.es"
|
|
|
|
# Madrid - Toma Café
|
|
./target/debug/brewlog cafe add \
|
|
--name "Toma Café" \
|
|
--city "Madrid" \
|
|
--country "Spain" \
|
|
--latitude 40.4260 \
|
|
--longitude -3.7075
|
|
|
|
# Berlin - The Barn
|
|
./target/debug/brewlog cafe add \
|
|
--name "The Barn" \
|
|
--city "Berlin" \
|
|
--country "Germany" \
|
|
--latitude 52.5298 \
|
|
--longitude 13.4020 \
|
|
--website "https://thebarn.de"
|
|
|
|
# Berlin - Companion Coffee
|
|
./target/debug/brewlog cafe add \
|
|
--name "Companion Coffee" \
|
|
--city "Berlin" \
|
|
--country "Germany" \
|
|
--latitude 52.4952 \
|
|
--longitude 13.4188 \
|
|
--website "https://www.companion.coffee"
|
|
|
|
# Munich - Man Versus Machine
|
|
./target/debug/brewlog cafe add \
|
|
--name "Man Versus Machine" \
|
|
--city "Munich" \
|
|
--country "Germany" \
|
|
--latitude 48.1310 \
|
|
--longitude 11.5690 \
|
|
--website "https://www.mvsmcoffee.de"
|
|
|
|
# Munich - Vits der Kaffee
|
|
./target/debug/brewlog cafe add \
|
|
--name "Vits der Kaffee" \
|
|
--city "Munich" \
|
|
--country "Germany" \
|
|
--latitude 48.1353 \
|
|
--longitude 11.5741 \
|
|
--website "https://www.vfrischekaffee.de"
|
|
|
|
# Bristol - Full Court Press
|
|
./target/debug/brewlog cafe add \
|
|
--name "Full Court Press" \
|
|
--city "Bristol" \
|
|
--country "United Kingdom" \
|
|
--latitude 51.4543 \
|
|
--longitude -2.5930 \
|
|
--website "https://www.fullcourtpress.coffee"
|
|
|
|
# Bristol - Small Street Espresso
|
|
./target/debug/brewlog cafe add \
|
|
--name "Small Street Espresso" \
|
|
--city "Bristol" \
|
|
--country "United Kingdom" \
|
|
--latitude 51.4540 \
|
|
--longitude -2.5955
|
|
|
|
# ============================================================================
|
|
# Cups - 1 to 3 cups per cafe, pairing roasts with cafes visited
|
|
# ============================================================================
|
|
|
|
# Monmouth Coffee (London) - 2 cups
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Red Brick Espresso") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Monmouth Coffee") | .id')" \
|
|
--rating 4
|
|
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Kamwangi") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Monmouth Coffee") | .id')" \
|
|
--rating 5
|
|
|
|
# Prufrock Coffee (London) - 3 cups
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Kochere") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Prufrock Coffee") | .id')" \
|
|
--rating 5
|
|
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="La Laja") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Prufrock Coffee") | .id')" \
|
|
--rating 4
|
|
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Ben Saïd Natural") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Prufrock Coffee") | .id')" \
|
|
--rating 5
|
|
|
|
# Hola Coffee (Madrid) - 2 cups
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Cerro Azul") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Hola Coffee") | .id')" \
|
|
--rating 4
|
|
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Guji Highland") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Hola Coffee") | .id')" \
|
|
--rating 3
|
|
|
|
# Toma Café (Madrid) - 1 cup
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Daterra Sweet Collection") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Toma Café") | .id')"
|
|
|
|
# The Barn (Berlin) - 3 cups
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Gatomboya") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="The Barn") | .id')" \
|
|
--rating 4
|
|
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Los Pirineos") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="The Barn") | .id')" \
|
|
--rating 4
|
|
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Halo Beriti") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="The Barn") | .id')" \
|
|
--rating 5
|
|
|
|
# Companion Coffee (Berlin) - 2 cups
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="El Paraiso 92 Anaerobic") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Companion Coffee") | .id')" \
|
|
--rating 5
|
|
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Oreti SL28") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Companion Coffee") | .id')" \
|
|
--rating 4
|
|
|
|
# Man Versus Machine (Munich) - 2 cups
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Finca Tamana Washed") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Man Versus Machine") | .id')" \
|
|
--rating 4
|
|
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="La Esmeralda Geisha") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Man Versus Machine") | .id')" \
|
|
--rating 5
|
|
|
|
# Vits der Kaffee (Munich) - 1 cup
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="San Fermin") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Vits der Kaffee") | .id')" \
|
|
--rating 3
|
|
|
|
# Full Court Press (Bristol) - 2 cups
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Suke Quto") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Full Court Press") | .id')" \
|
|
--rating 5
|
|
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Death to Decaf") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Full Court Press") | .id')" \
|
|
--rating 3
|
|
|
|
# Small Street Espresso (Bristol) - 2 cups
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Simbi") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Small Street Espresso") | .id')" \
|
|
--rating 4
|
|
|
|
./target/debug/brewlog cup add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="La Chumeca") | .id')" \
|
|
--cafe-id "$(./target/debug/brewlog cafe list | jq -r '.[] | select(.name=="Small Street Espresso") | .id')" \
|
|
--rating 4
|
|
|
|
# ============================================================================
|
|
# Bags - Various bags from different roasters with amounts ranging 100g-500g
|
|
# ============================================================================
|
|
|
|
# Tim Wendelboe - Ben Saïd Natural (250g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Ben Saïd Natural") | .id')" \
|
|
--roast-date "2026-01-15" \
|
|
--amount 250
|
|
|
|
# Tim Wendelboe - Finca Tamana Washed (350g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Finca Tamana Washed") | .id')" \
|
|
--roast-date "2026-01-18" \
|
|
--amount 350
|
|
|
|
# Coffee Collective - Daterra Sweet Collection (200g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Daterra Sweet Collection") | .id')" \
|
|
--roast-date "2026-01-10" \
|
|
--amount 200
|
|
|
|
# Drop Coffee - La Linda (500g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="La Linda") | .id')" \
|
|
--roast-date "2026-01-20" \
|
|
--amount 500
|
|
|
|
# La Cabra - Halo Beriti (150g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Halo Beriti") | .id')" \
|
|
--roast-date "2026-01-12" \
|
|
--amount 150
|
|
|
|
# April Coffee - Guji Highland (300g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Guji Highland") | .id')" \
|
|
--roast-date "2026-01-22" \
|
|
--amount 300
|
|
|
|
# Assembly Coffee - Kochere (250g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Kochere") | .id')" \
|
|
--roast-date "2026-01-08" \
|
|
--amount 250
|
|
|
|
# Square Mile Coffee - Red Brick Espresso (400g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Red Brick Espresso") | .id')" \
|
|
--roast-date "2026-01-25" \
|
|
--amount 400
|
|
|
|
# Dak Coffee Roasters - El Paraiso 92 Anaerobic (100g - small competition lot)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="El Paraiso 92 Anaerobic") | .id')" \
|
|
--roast-date "2026-01-28" \
|
|
--amount 100
|
|
|
|
# Bonanza Coffee - Gatomboya (175g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Gatomboya") | .id')" \
|
|
--roast-date "2026-01-05" \
|
|
--amount 175
|
|
|
|
# Stow Coffee - Suke Quto (225g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Suke Quto") | .id')" \
|
|
--roast-date "2026-01-30" \
|
|
--amount 225
|
|
|
|
# Bows Coffee - Simbi (450g)
|
|
./target/debug/brewlog bag add \
|
|
--roast-id "$(./target/debug/brewlog roast list | jq -r '.[] | select(.name=="Simbi") | .id')" \
|
|
--roast-date "2026-01-14" \
|
|
--amount 450
|
|
|
|
# ============================================================================
|
|
# Finished Bags - Mark 4 older bags as finished
|
|
# ============================================================================
|
|
|
|
# Finish Gatomboya bag (oldest - Jan 5)
|
|
./target/debug/brewlog bag update \
|
|
--id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="Gatomboya") | .id')" \
|
|
--closed true \
|
|
--finished-at "2026-01-20"
|
|
|
|
# Finish Kochere bag (Jan 8)
|
|
./target/debug/brewlog bag update \
|
|
--id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="Kochere") | .id')" \
|
|
--closed true \
|
|
--finished-at "2026-01-22"
|
|
|
|
# Finish Daterra Sweet Collection bag (Jan 10)
|
|
./target/debug/brewlog bag update \
|
|
--id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="Daterra Sweet Collection") | .id')" \
|
|
--closed true \
|
|
--finished-at "2026-01-25"
|
|
|
|
# Finish Halo Beriti bag (Jan 12)
|
|
./target/debug/brewlog bag update \
|
|
--id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="Halo Beriti") | .id')" \
|
|
--closed true \
|
|
--finished-at "2026-01-28"
|
|
|
|
# ============================================================================
|
|
# Gear - 2 grinders, 3 brewers, and 3 filter papers
|
|
# ============================================================================
|
|
|
|
# Grinders
|
|
./target/debug/brewlog gear add \
|
|
--category "grinder" \
|
|
--make "Comandante" \
|
|
--model "C40 MK4"
|
|
|
|
./target/debug/brewlog gear add \
|
|
--category "grinder" \
|
|
--make "1Zpresso" \
|
|
--model "J-Max"
|
|
|
|
# Brewers
|
|
./target/debug/brewlog gear add \
|
|
--category "brewer" \
|
|
--make "Hario" \
|
|
--model "V60 02"
|
|
|
|
./target/debug/brewlog gear add \
|
|
--category "brewer" \
|
|
--make "AeroPress" \
|
|
--model "Original"
|
|
|
|
./target/debug/brewlog gear add \
|
|
--category "brewer" \
|
|
--make "Fellow" \
|
|
--model "Stagg XF"
|
|
|
|
# Filter Papers
|
|
./target/debug/brewlog gear add \
|
|
--category "filter_paper" \
|
|
--make "Hario" \
|
|
--model "V60 Tabbed 02"
|
|
|
|
./target/debug/brewlog gear add \
|
|
--category "filter_paper" \
|
|
--make "Sibarist" \
|
|
--model "FAST Specialty 02"
|
|
|
|
./target/debug/brewlog gear add \
|
|
--category "filter_paper" \
|
|
--make "Fellow" \
|
|
--model "Stagg XF Filters"
|
|
|
|
# ============================================================================
|
|
# Brews - Sample brews using open bags with realistic ratios (1:15 to 1:17)
|
|
# ============================================================================
|
|
|
|
# Standard V60 brew - Ben Saïd Natural with Comandante (ratio 1:16.7)
|
|
./target/debug/brewlog brew add \
|
|
--bag-id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="Ben Saïd Natural") | .id')" \
|
|
--coffee-weight 15.0 \
|
|
--grinder-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="C40 MK4") | .id')" \
|
|
--grind-setting 24.0 \
|
|
--brewer-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="V60 02") | .id')" \
|
|
--filter-paper-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="V60 Tabbed 02") | .id')" \
|
|
--water-volume 250 \
|
|
--water-temp 92.0
|
|
|
|
# AeroPress brew - Finca Tamana with J-Max (ratio 1:15)
|
|
./target/debug/brewlog brew add \
|
|
--bag-id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="Finca Tamana Washed") | .id')" \
|
|
--coffee-weight 17.0 \
|
|
--grinder-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="J-Max") | .id')" \
|
|
--grind-setting 20.0 \
|
|
--brewer-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="Original") | .id')" \
|
|
--water-volume 255 \
|
|
--water-temp 88.0
|
|
|
|
# Double V60 brew - La Linda with Comandante (ratio 1:16.7)
|
|
./target/debug/brewlog brew add \
|
|
--bag-id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="La Linda") | .id')" \
|
|
--coffee-weight 30.0 \
|
|
--grinder-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="C40 MK4") | .id')" \
|
|
--grind-setting 25.0 \
|
|
--brewer-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="V60 02") | .id')" \
|
|
--filter-paper-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="FAST Specialty 02") | .id')" \
|
|
--water-volume 500 \
|
|
--water-temp 91.0
|
|
|
|
# Stagg XF brew - Guji Highland with J-Max (ratio 1:16.7)
|
|
./target/debug/brewlog brew add \
|
|
--bag-id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="Guji Highland") | .id')" \
|
|
--coffee-weight 18.0 \
|
|
--grinder-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="J-Max") | .id')" \
|
|
--grind-setting 22.0 \
|
|
--brewer-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="Stagg XF") | .id')" \
|
|
--filter-paper-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="Stagg XF Filters") | .id')" \
|
|
--water-volume 300 \
|
|
--water-temp 93.0
|
|
|
|
# Light V60 brew - Red Brick Espresso with Comandante (ratio 1:16.7)
|
|
./target/debug/brewlog brew add \
|
|
--bag-id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="Red Brick Espresso") | .id')" \
|
|
--coffee-weight 12.0 \
|
|
--grinder-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="C40 MK4") | .id')" \
|
|
--grind-setting 26.0 \
|
|
--brewer-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="V60 02") | .id')" \
|
|
--filter-paper-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="V60 Tabbed 02") | .id')" \
|
|
--water-volume 200 \
|
|
--water-temp 94.0
|
|
|
|
# AeroPress inverted - El Paraiso Anaerobic with J-Max (ratio 1:15)
|
|
./target/debug/brewlog brew add \
|
|
--bag-id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="El Paraiso 92 Anaerobic") | .id')" \
|
|
--coffee-weight 15.0 \
|
|
--grinder-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="J-Max") | .id')" \
|
|
--grind-setting 18.0 \
|
|
--brewer-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="Original") | .id')" \
|
|
--water-volume 225 \
|
|
--water-temp 85.0
|
|
|
|
# V60 brew - Suke Quto with J-Max (ratio 1:16)
|
|
./target/debug/brewlog brew add \
|
|
--bag-id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="Suke Quto") | .id')" \
|
|
--coffee-weight 20.0 \
|
|
--grinder-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="J-Max") | .id')" \
|
|
--grind-setting 21.0 \
|
|
--brewer-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="V60 02") | .id')" \
|
|
--filter-paper-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="FAST Specialty 02") | .id')" \
|
|
--water-volume 320 \
|
|
--water-temp 92.0
|
|
|
|
# Stagg XF brew - Simbi with Comandante (ratio 1:16)
|
|
./target/debug/brewlog brew add \
|
|
--bag-id "$(./target/debug/brewlog bag list | jq -r '.[] | select(.roast_name=="Simbi") | .id')" \
|
|
--coffee-weight 16.0 \
|
|
--grinder-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="C40 MK4") | .id')" \
|
|
--grind-setting 23.0 \
|
|
--brewer-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="Stagg XF") | .id')" \
|
|
--filter-paper-id "$(./target/debug/brewlog gear list | jq -r '.[] | select(.model=="Stagg XF Filters") | .id')" \
|
|
--water-volume 256 \
|
|
--water-temp 90.0
|
|
|
|
# ============================================================================
|
|
# Timestamp Distribution - Spread data over the last 6 months
|
|
# ============================================================================
|
|
|
|
DB_FILE="${DATABASE_URL:-brewlog.db}"
|
|
# Strip sqlite:// prefix if present
|
|
DB_FILE="${DB_FILE#sqlite://}"
|
|
|
|
echo "Distributing timestamps over the last 6 months..."
|
|
|
|
sqlite3 "$DB_FILE" <<'ENDSQL'
|
|
.timeout 5000
|
|
-- Today is approximately 2026-02-02
|
|
-- Spread data from 2025-08-01 to 2026-02-02 (6 months)
|
|
|
|
-- ============================================================================
|
|
-- GEAR: Added early (months 1-2) - you buy equipment before brewing
|
|
-- ============================================================================
|
|
UPDATE gear SET
|
|
created_at = datetime('2025-08-05 10:00:00'),
|
|
updated_at = datetime('2025-08-05 10:00:00')
|
|
WHERE model = 'C40 MK4'; -- Comandante grinder
|
|
|
|
UPDATE gear SET
|
|
created_at = datetime('2025-08-10 14:30:00'),
|
|
updated_at = datetime('2025-08-10 14:30:00')
|
|
WHERE model = 'V60 02'; -- Hario V60
|
|
|
|
UPDATE gear SET
|
|
created_at = datetime('2025-08-15 09:00:00'),
|
|
updated_at = datetime('2025-08-15 09:00:00')
|
|
WHERE model = 'Original'; -- AeroPress
|
|
|
|
UPDATE gear SET
|
|
created_at = datetime('2025-09-20 11:00:00'),
|
|
updated_at = datetime('2025-09-20 11:00:00')
|
|
WHERE model = 'J-Max'; -- 1Zpresso grinder (second grinder)
|
|
|
|
UPDATE gear SET
|
|
created_at = datetime('2025-10-12 16:00:00'),
|
|
updated_at = datetime('2025-10-12 16:00:00')
|
|
WHERE model = 'Stagg XF'; -- Fellow dripper (upgrade)
|
|
|
|
UPDATE gear SET
|
|
created_at = datetime('2025-08-10 14:45:00'),
|
|
updated_at = datetime('2025-08-10 14:45:00')
|
|
WHERE model = 'V60 Tabbed 02'; -- Hario filter papers (bought with V60)
|
|
|
|
UPDATE gear SET
|
|
created_at = datetime('2025-10-01 09:00:00'),
|
|
updated_at = datetime('2025-10-01 09:00:00')
|
|
WHERE model = 'FAST Specialty 02'; -- Sibarist upgrade papers
|
|
|
|
UPDATE gear SET
|
|
created_at = datetime('2025-10-12 16:15:00'),
|
|
updated_at = datetime('2025-10-12 16:15:00')
|
|
WHERE model = 'Stagg XF Filters'; -- Fellow filters (bought with Stagg XF)
|
|
|
|
-- ============================================================================
|
|
-- ROASTERS & ROASTS: Discovered over months 1-6
|
|
-- Order: Early favorites first, newer discoveries later
|
|
-- ============================================================================
|
|
|
|
-- Month 1 (Aug 2025): First roasters discovered
|
|
UPDATE roasters SET created_at = datetime('2025-08-03 08:00:00')
|
|
WHERE name = 'Tim Wendelboe';
|
|
UPDATE roasts SET created_at = datetime('2025-08-03 08:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Tim Wendelboe');
|
|
|
|
UPDATE roasters SET created_at = datetime('2025-08-08 12:00:00')
|
|
WHERE name = 'Square Mile Coffee';
|
|
UPDATE roasts SET created_at = datetime('2025-08-08 12:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Square Mile Coffee');
|
|
|
|
-- Month 2 (Sep 2025): More exploration
|
|
UPDATE roasters SET created_at = datetime('2025-09-05 10:00:00')
|
|
WHERE name = 'Coffee Collective';
|
|
UPDATE roasts SET created_at = datetime('2025-09-05 10:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Coffee Collective');
|
|
|
|
UPDATE roasters SET created_at = datetime('2025-09-15 14:00:00')
|
|
WHERE name = 'Assembly Coffee';
|
|
UPDATE roasts SET created_at = datetime('2025-09-15 14:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Assembly Coffee');
|
|
|
|
UPDATE roasters SET created_at = datetime('2025-09-25 09:00:00')
|
|
WHERE name = 'Bonanza Coffee';
|
|
UPDATE roasts SET created_at = datetime('2025-09-25 09:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Bonanza Coffee');
|
|
|
|
-- Month 3 (Oct 2025): Nordic deep dive
|
|
UPDATE roasters SET created_at = datetime('2025-10-05 11:00:00')
|
|
WHERE name = 'Drop Coffee';
|
|
UPDATE roasts SET created_at = datetime('2025-10-05 11:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Drop Coffee');
|
|
|
|
UPDATE roasters SET created_at = datetime('2025-10-15 13:00:00')
|
|
WHERE name = 'La Cabra';
|
|
UPDATE roasts SET created_at = datetime('2025-10-15 13:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'La Cabra');
|
|
|
|
UPDATE roasters SET created_at = datetime('2025-10-28 16:00:00')
|
|
WHERE name = 'April Coffee';
|
|
UPDATE roasts SET created_at = datetime('2025-10-28 16:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'April Coffee');
|
|
|
|
-- Month 4 (Nov 2025): European expansion
|
|
UPDATE roasters SET created_at = datetime('2025-11-02 10:00:00')
|
|
WHERE name = 'Dak Coffee Roasters';
|
|
UPDATE roasts SET created_at = datetime('2025-11-02 10:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Dak Coffee Roasters');
|
|
|
|
UPDATE roasters SET created_at = datetime('2025-11-12 15:00:00')
|
|
WHERE name = 'Friedhats';
|
|
UPDATE roasts SET created_at = datetime('2025-11-12 15:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Friedhats');
|
|
|
|
UPDATE roasters SET created_at = datetime('2025-11-22 09:00:00')
|
|
WHERE name = 'Origin Coffee';
|
|
UPDATE roasts SET created_at = datetime('2025-11-22 09:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Origin Coffee');
|
|
|
|
-- Month 5 (Dec 2025): Holiday discoveries
|
|
UPDATE roasters SET created_at = datetime('2025-12-05 11:00:00')
|
|
WHERE name = 'Dark Arts Coffee';
|
|
UPDATE roasts SET created_at = datetime('2025-12-05 11:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Dark Arts Coffee');
|
|
|
|
UPDATE roasters SET created_at = datetime('2025-12-15 14:00:00')
|
|
WHERE name = 'KAWA Coffee';
|
|
UPDATE roasts SET created_at = datetime('2025-12-15 14:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'KAWA Coffee');
|
|
|
|
UPDATE roasters SET created_at = datetime('2025-12-28 10:00:00')
|
|
WHERE name = 'Stow Coffee';
|
|
UPDATE roasts SET created_at = datetime('2025-12-28 10:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Stow Coffee');
|
|
|
|
-- Month 6 (Jan 2026): New year additions
|
|
UPDATE roasters SET created_at = datetime('2026-01-08 12:00:00')
|
|
WHERE name = 'Bows Coffee';
|
|
UPDATE roasts SET created_at = datetime('2026-01-08 12:05:00')
|
|
WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Bows Coffee');
|
|
|
|
-- ============================================================================
|
|
-- CAFES: Visited over months 1-6, spread across 5 cities
|
|
-- ============================================================================
|
|
|
|
-- Month 1 (Aug 2025): First London cafes
|
|
UPDATE cafes SET
|
|
created_at = datetime('2025-08-12 11:00:00'),
|
|
updated_at = datetime('2025-08-12 11:00:00')
|
|
WHERE name = 'Monmouth Coffee';
|
|
|
|
UPDATE cafes SET
|
|
created_at = datetime('2025-08-20 14:30:00'),
|
|
updated_at = datetime('2025-08-20 14:30:00')
|
|
WHERE name = 'Prufrock Coffee';
|
|
|
|
-- Month 2 (Sep 2025): Berlin trip
|
|
UPDATE cafes SET
|
|
created_at = datetime('2025-09-08 10:00:00'),
|
|
updated_at = datetime('2025-09-08 10:00:00')
|
|
WHERE name = 'The Barn';
|
|
|
|
UPDATE cafes SET
|
|
created_at = datetime('2025-09-10 15:00:00'),
|
|
updated_at = datetime('2025-09-10 15:00:00')
|
|
WHERE name = 'Companion Coffee';
|
|
|
|
-- Month 3 (Oct 2025): Munich visit
|
|
UPDATE cafes SET
|
|
created_at = datetime('2025-10-07 09:30:00'),
|
|
updated_at = datetime('2025-10-07 09:30:00')
|
|
WHERE name = 'Man Versus Machine';
|
|
|
|
UPDATE cafes SET
|
|
created_at = datetime('2025-10-09 11:00:00'),
|
|
updated_at = datetime('2025-10-09 11:00:00')
|
|
WHERE name = 'Vits der Kaffee';
|
|
|
|
-- Month 4 (Nov 2025): Madrid trip
|
|
UPDATE cafes SET
|
|
created_at = datetime('2025-11-05 12:00:00'),
|
|
updated_at = datetime('2025-11-05 12:00:00')
|
|
WHERE name = 'Hola Coffee';
|
|
|
|
UPDATE cafes SET
|
|
created_at = datetime('2025-11-07 10:30:00'),
|
|
updated_at = datetime('2025-11-07 10:30:00')
|
|
WHERE name = 'Toma Café';
|
|
|
|
-- Month 6 (Jan 2026): Bristol day trip
|
|
UPDATE cafes SET
|
|
created_at = datetime('2026-01-11 10:00:00'),
|
|
updated_at = datetime('2026-01-11 10:00:00')
|
|
WHERE name = 'Full Court Press';
|
|
|
|
UPDATE cafes SET
|
|
created_at = datetime('2026-01-11 14:00:00'),
|
|
updated_at = datetime('2026-01-11 14:00:00')
|
|
WHERE name = 'Small Street Espresso';
|
|
|
|
-- ============================================================================
|
|
-- CUPS: Spread to match cafe visit dates
|
|
-- Each cup is dated around the time the cafe was visited
|
|
-- ============================================================================
|
|
|
|
-- Monmouth Coffee (London, Aug 2025) - 2 cups
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-08-12 11:30:00'),
|
|
updated_at = datetime('2025-08-12 11:30:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Monmouth Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Red Brick Espresso');
|
|
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-08-12 12:15:00'),
|
|
updated_at = datetime('2025-08-12 12:15:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Monmouth Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Kamwangi');
|
|
|
|
-- Prufrock Coffee (London, Aug 2025) - 3 cups
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-08-20 14:45:00'),
|
|
updated_at = datetime('2025-08-20 14:45:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Prufrock Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Kochere');
|
|
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-08-20 15:30:00'),
|
|
updated_at = datetime('2025-08-20 15:30:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Prufrock Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'La Laja');
|
|
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-08-25 10:00:00'),
|
|
updated_at = datetime('2025-08-25 10:00:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Prufrock Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Ben Saïd Natural');
|
|
|
|
-- The Barn (Berlin, Sep 2025) - 3 cups
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-09-08 10:30:00'),
|
|
updated_at = datetime('2025-09-08 10:30:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'The Barn')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Gatomboya');
|
|
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-09-08 15:00:00'),
|
|
updated_at = datetime('2025-09-08 15:00:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'The Barn')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Los Pirineos');
|
|
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-09-09 09:30:00'),
|
|
updated_at = datetime('2025-09-09 09:30:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'The Barn')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Halo Beriti');
|
|
|
|
-- Companion Coffee (Berlin, Sep 2025) - 2 cups
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-09-10 15:30:00'),
|
|
updated_at = datetime('2025-09-10 15:30:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Companion Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'El Paraiso 92 Anaerobic');
|
|
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-09-10 16:15:00'),
|
|
updated_at = datetime('2025-09-10 16:15:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Companion Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Oreti SL28');
|
|
|
|
-- Man Versus Machine (Munich, Oct 2025) - 2 cups
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-10-07 10:00:00'),
|
|
updated_at = datetime('2025-10-07 10:00:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Man Versus Machine')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Finca Tamana Washed');
|
|
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-10-07 14:30:00'),
|
|
updated_at = datetime('2025-10-07 14:30:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Man Versus Machine')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'La Esmeralda Geisha');
|
|
|
|
-- Vits der Kaffee (Munich, Oct 2025) - 1 cup
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-10-09 11:30:00'),
|
|
updated_at = datetime('2025-10-09 11:30:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Vits der Kaffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'San Fermin');
|
|
|
|
-- Hola Coffee (Madrid, Nov 2025) - 2 cups
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-11-05 12:30:00'),
|
|
updated_at = datetime('2025-11-05 12:30:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Hola Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Cerro Azul');
|
|
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-11-06 10:00:00'),
|
|
updated_at = datetime('2025-11-06 10:00:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Hola Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Guji Highland');
|
|
|
|
-- Toma Café (Madrid, Nov 2025) - 1 cup
|
|
UPDATE cups SET
|
|
created_at = datetime('2025-11-07 11:00:00'),
|
|
updated_at = datetime('2025-11-07 11:00:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Toma Café')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Daterra Sweet Collection');
|
|
|
|
-- Full Court Press (Bristol, Jan 2026) - 2 cups
|
|
UPDATE cups SET
|
|
created_at = datetime('2026-01-11 10:30:00'),
|
|
updated_at = datetime('2026-01-11 10:30:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Full Court Press')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Suke Quto');
|
|
|
|
UPDATE cups SET
|
|
created_at = datetime('2026-01-11 11:15:00'),
|
|
updated_at = datetime('2026-01-11 11:15:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Full Court Press')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Death to Decaf');
|
|
|
|
-- Small Street Espresso (Bristol, Jan 2026) - 2 cups
|
|
UPDATE cups SET
|
|
created_at = datetime('2026-01-11 14:30:00'),
|
|
updated_at = datetime('2026-01-11 14:30:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Small Street Espresso')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Simbi');
|
|
|
|
UPDATE cups SET
|
|
created_at = datetime('2026-01-11 15:00:00'),
|
|
updated_at = datetime('2026-01-11 15:00:00')
|
|
WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Small Street Espresso')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'La Chumeca');
|
|
|
|
-- ============================================================================
|
|
-- BAGS: Purchased after roasts exist, spread over months 2-6
|
|
-- Roast dates should be slightly before created_at (bag bought after roasting)
|
|
-- ============================================================================
|
|
|
|
-- Gatomboya (Bonanza) - Sep 2025, finished in Oct
|
|
UPDATE bags SET
|
|
created_at = datetime('2025-09-28 10:00:00'),
|
|
updated_at = datetime('2025-10-15 09:00:00'),
|
|
roast_date = '2025-09-20',
|
|
finished_at = '2025-10-15'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Gatomboya');
|
|
|
|
-- Kochere (Assembly) - early Oct, finished mid-Oct
|
|
UPDATE bags SET
|
|
created_at = datetime('2025-10-02 11:00:00'),
|
|
updated_at = datetime('2025-10-20 14:00:00'),
|
|
roast_date = '2025-09-25',
|
|
finished_at = '2025-10-20'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Kochere');
|
|
|
|
-- Daterra Sweet Collection (Coffee Collective) - Oct, finished Nov
|
|
UPDATE bags SET
|
|
created_at = datetime('2025-10-10 14:00:00'),
|
|
updated_at = datetime('2025-11-05 10:00:00'),
|
|
roast_date = '2025-10-05',
|
|
finished_at = '2025-11-05'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Daterra Sweet Collection');
|
|
|
|
-- Halo Beriti (La Cabra) - late Oct, finished Nov
|
|
UPDATE bags SET
|
|
created_at = datetime('2025-10-25 09:00:00'),
|
|
updated_at = datetime('2025-11-12 16:00:00'),
|
|
roast_date = '2025-10-18',
|
|
finished_at = '2025-11-12'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Halo Beriti');
|
|
|
|
-- Ben Saïd Natural (Tim Wendelboe) - Nov, still open
|
|
UPDATE bags SET
|
|
created_at = datetime('2025-11-15 10:00:00'),
|
|
updated_at = datetime('2025-11-15 10:00:00'),
|
|
roast_date = '2025-11-10'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Ben Saïd Natural');
|
|
|
|
-- Finca Tamana Washed (Tim Wendelboe) - Nov, still open
|
|
UPDATE bags SET
|
|
created_at = datetime('2025-11-20 13:00:00'),
|
|
updated_at = datetime('2025-11-20 13:00:00'),
|
|
roast_date = '2025-11-15'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Finca Tamana Washed');
|
|
|
|
-- La Linda (Drop Coffee) - Dec, still open
|
|
UPDATE bags SET
|
|
created_at = datetime('2025-12-10 11:00:00'),
|
|
updated_at = datetime('2025-12-10 11:00:00'),
|
|
roast_date = '2025-12-05'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'La Linda');
|
|
|
|
-- Guji Highland (April Coffee) - Dec, still open
|
|
UPDATE bags SET
|
|
created_at = datetime('2025-12-18 14:00:00'),
|
|
updated_at = datetime('2025-12-18 14:00:00'),
|
|
roast_date = '2025-12-12'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Guji Highland');
|
|
|
|
-- Red Brick Espresso (Square Mile) - late Dec, still open
|
|
UPDATE bags SET
|
|
created_at = datetime('2025-12-28 09:00:00'),
|
|
updated_at = datetime('2025-12-28 09:00:00'),
|
|
roast_date = '2025-12-22'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Red Brick Espresso');
|
|
|
|
-- El Paraiso 92 Anaerobic (Dak) - Jan 2026, still open
|
|
UPDATE bags SET
|
|
created_at = datetime('2026-01-10 10:00:00'),
|
|
updated_at = datetime('2026-01-10 10:00:00'),
|
|
roast_date = '2026-01-05'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'El Paraiso 92 Anaerobic');
|
|
|
|
-- Suke Quto (Stow) - Jan 2026, still open
|
|
UPDATE bags SET
|
|
created_at = datetime('2026-01-15 12:00:00'),
|
|
updated_at = datetime('2026-01-15 12:00:00'),
|
|
roast_date = '2026-01-10'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Suke Quto');
|
|
|
|
-- Simbi (Bows Coffee) - late Jan 2026, still open
|
|
UPDATE bags SET
|
|
created_at = datetime('2026-01-22 15:00:00'),
|
|
updated_at = datetime('2026-01-22 15:00:00'),
|
|
roast_date = '2026-01-18'
|
|
WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Simbi');
|
|
|
|
-- ============================================================================
|
|
-- BREWS: Created after bags exist, spread over recent months
|
|
-- ============================================================================
|
|
|
|
-- Brew 1: Ben Saïd Natural V60 - mid Nov
|
|
UPDATE brews SET
|
|
created_at = datetime('2025-11-18 08:30:00'),
|
|
updated_at = datetime('2025-11-18 08:30:00')
|
|
WHERE bag_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Ben Saïd Natural'))
|
|
AND water_volume = 250;
|
|
|
|
-- Brew 2: Finca Tamana AeroPress - late Nov
|
|
UPDATE brews SET
|
|
created_at = datetime('2025-11-25 09:00:00'),
|
|
updated_at = datetime('2025-11-25 09:00:00')
|
|
WHERE bag_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Finca Tamana Washed'))
|
|
AND water_volume = 255;
|
|
|
|
-- Brew 3: La Linda double V60 - mid Dec
|
|
UPDATE brews SET
|
|
created_at = datetime('2025-12-15 10:00:00'),
|
|
updated_at = datetime('2025-12-15 10:00:00')
|
|
WHERE bag_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'La Linda'))
|
|
AND water_volume = 500;
|
|
|
|
-- Brew 4: Guji Highland Stagg XF - late Dec
|
|
UPDATE brews SET
|
|
created_at = datetime('2025-12-22 08:00:00'),
|
|
updated_at = datetime('2025-12-22 08:00:00')
|
|
WHERE bag_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Guji Highland'))
|
|
AND water_volume = 300;
|
|
|
|
-- Brew 5: Red Brick V60 - early Jan
|
|
UPDATE brews SET
|
|
created_at = datetime('2026-01-02 09:30:00'),
|
|
updated_at = datetime('2026-01-02 09:30:00')
|
|
WHERE bag_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Red Brick Espresso'))
|
|
AND water_volume = 200;
|
|
|
|
-- Brew 6: El Paraiso AeroPress - mid Jan
|
|
UPDATE brews SET
|
|
created_at = datetime('2026-01-12 08:15:00'),
|
|
updated_at = datetime('2026-01-12 08:15:00')
|
|
WHERE bag_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'El Paraiso 92 Anaerobic'))
|
|
AND water_volume = 225;
|
|
|
|
-- Brew 7: Suke Quto V60 - late Jan
|
|
UPDATE brews SET
|
|
created_at = datetime('2026-01-20 09:00:00'),
|
|
updated_at = datetime('2026-01-20 09:00:00')
|
|
WHERE bag_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Suke Quto'))
|
|
AND water_volume = 320;
|
|
|
|
-- Brew 8: Simbi Stagg XF - recent (late Jan)
|
|
UPDATE brews SET
|
|
created_at = datetime('2026-01-28 08:45:00'),
|
|
updated_at = datetime('2026-01-28 08:45:00')
|
|
WHERE bag_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Simbi'))
|
|
AND water_volume = 256;
|
|
|
|
-- ============================================================================
|
|
-- TIMELINE_EVENTS: Update to match entity creation times
|
|
-- ============================================================================
|
|
|
|
-- Gear timeline events
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-05 10:00:00')
|
|
WHERE entity_type = 'gear' AND entity_id = (SELECT id FROM gear WHERE model = 'C40 MK4');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-10 14:30:00')
|
|
WHERE entity_type = 'gear' AND entity_id = (SELECT id FROM gear WHERE model = 'V60 02');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-15 09:00:00')
|
|
WHERE entity_type = 'gear' AND entity_id = (SELECT id FROM gear WHERE model = 'Original');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-20 11:00:00')
|
|
WHERE entity_type = 'gear' AND entity_id = (SELECT id FROM gear WHERE model = 'J-Max');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-12 16:00:00')
|
|
WHERE entity_type = 'gear' AND entity_id = (SELECT id FROM gear WHERE model = 'Stagg XF');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-10 14:45:00')
|
|
WHERE entity_type = 'gear' AND entity_id = (SELECT id FROM gear WHERE model = 'V60 Tabbed 02');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-01 09:00:00')
|
|
WHERE entity_type = 'gear' AND entity_id = (SELECT id FROM gear WHERE model = 'FAST Specialty 02');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-12 16:15:00')
|
|
WHERE entity_type = 'gear' AND entity_id = (SELECT id FROM gear WHERE model = 'Stagg XF Filters');
|
|
|
|
-- Roaster timeline events
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-03 08:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Tim Wendelboe');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-08 12:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Square Mile Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-05 10:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Coffee Collective');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-15 14:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Assembly Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-25 09:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Bonanza Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-05 11:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Drop Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-15 13:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'La Cabra');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-28 16:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'April Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-02 10:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Dak Coffee Roasters');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-12 15:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Friedhats');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-22 09:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Origin Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-05 11:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Dark Arts Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-15 14:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'KAWA Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-28 10:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Stow Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-08 12:00:00')
|
|
WHERE entity_type = 'roaster' AND entity_id = (SELECT id FROM roasters WHERE name = 'Bows Coffee');
|
|
|
|
-- Roast timeline events (match roaster times + 5 min)
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-03 08:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Tim Wendelboe'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-08 12:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Square Mile Coffee'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-05 10:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Coffee Collective'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-15 14:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Assembly Coffee'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-25 09:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Bonanza Coffee'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-05 11:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Drop Coffee'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-15 13:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'La Cabra'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-28 16:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'April Coffee'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-02 10:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Dak Coffee Roasters'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-12 15:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Friedhats'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-22 09:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Origin Coffee'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-05 11:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Dark Arts Coffee'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-15 14:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'KAWA Coffee'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-28 10:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Stow Coffee'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-08 12:05:00')
|
|
WHERE entity_type = 'roast' AND entity_id IN (SELECT id FROM roasts WHERE roaster_id = (SELECT id FROM roasters WHERE name = 'Bows Coffee'));
|
|
|
|
-- Cafe timeline events (match cafe created_at)
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-12 11:00:00')
|
|
WHERE entity_type = 'cafe' AND entity_id = (SELECT id FROM cafes WHERE name = 'Monmouth Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-20 14:30:00')
|
|
WHERE entity_type = 'cafe' AND entity_id = (SELECT id FROM cafes WHERE name = 'Prufrock Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-08 10:00:00')
|
|
WHERE entity_type = 'cafe' AND entity_id = (SELECT id FROM cafes WHERE name = 'The Barn');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-10 15:00:00')
|
|
WHERE entity_type = 'cafe' AND entity_id = (SELECT id FROM cafes WHERE name = 'Companion Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-07 09:30:00')
|
|
WHERE entity_type = 'cafe' AND entity_id = (SELECT id FROM cafes WHERE name = 'Man Versus Machine');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-09 11:00:00')
|
|
WHERE entity_type = 'cafe' AND entity_id = (SELECT id FROM cafes WHERE name = 'Vits der Kaffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-05 12:00:00')
|
|
WHERE entity_type = 'cafe' AND entity_id = (SELECT id FROM cafes WHERE name = 'Hola Coffee');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-07 10:30:00')
|
|
WHERE entity_type = 'cafe' AND entity_id = (SELECT id FROM cafes WHERE name = 'Toma Café');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-11 10:00:00')
|
|
WHERE entity_type = 'cafe' AND entity_id = (SELECT id FROM cafes WHERE name = 'Full Court Press');
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-11 14:00:00')
|
|
WHERE entity_type = 'cafe' AND entity_id = (SELECT id FROM cafes WHERE name = 'Small Street Espresso');
|
|
|
|
-- Rebuild cafe timeline details_json to include Position field
|
|
UPDATE timeline_events SET details_json = (
|
|
SELECT '[{"label":"City","value":"' || c.city || '"},{"label":"Country","value":"' || c.country || '"},{"label":"Website","value":"' || COALESCE(NULLIF(c.website, ''), '—') || '"},{"label":"Position","value":"https://www.google.com/maps?q=' || c.latitude || ',' || c.longitude || '"}]'
|
|
FROM cafes c WHERE c.id = timeline_events.entity_id
|
|
)
|
|
WHERE entity_type = 'cafe';
|
|
|
|
-- Bag timeline events (match bag created_at)
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-28 10:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Gatomboya'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-02 11:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Kochere'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-10 14:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Daterra Sweet Collection'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-25 09:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Halo Beriti'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-15 10:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Ben Saïd Natural'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-20 13:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Finca Tamana Washed'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-10 11:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'La Linda'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-18 14:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Guji Highland'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-28 09:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Red Brick Espresso'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-10 10:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'El Paraiso 92 Anaerobic'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-15 12:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Suke Quto'));
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-22 15:00:00')
|
|
WHERE entity_type = 'bag' AND entity_id = (SELECT id FROM bags WHERE roast_id = (SELECT id FROM roasts WHERE name = 'Simbi'));
|
|
|
|
-- Brew timeline events (match brew created_at)
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-18 08:30:00')
|
|
WHERE entity_type = 'brew' AND entity_id = (
|
|
SELECT b.id FROM brews b
|
|
JOIN bags ba ON b.bag_id = ba.id
|
|
JOIN roasts r ON ba.roast_id = r.id
|
|
WHERE r.name = 'Ben Saïd Natural' AND b.water_volume = 250
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-25 09:00:00')
|
|
WHERE entity_type = 'brew' AND entity_id = (
|
|
SELECT b.id FROM brews b
|
|
JOIN bags ba ON b.bag_id = ba.id
|
|
JOIN roasts r ON ba.roast_id = r.id
|
|
WHERE r.name = 'Finca Tamana Washed' AND b.water_volume = 255
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-15 10:00:00')
|
|
WHERE entity_type = 'brew' AND entity_id = (
|
|
SELECT b.id FROM brews b
|
|
JOIN bags ba ON b.bag_id = ba.id
|
|
JOIN roasts r ON ba.roast_id = r.id
|
|
WHERE r.name = 'La Linda' AND b.water_volume = 500
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-12-22 08:00:00')
|
|
WHERE entity_type = 'brew' AND entity_id = (
|
|
SELECT b.id FROM brews b
|
|
JOIN bags ba ON b.bag_id = ba.id
|
|
JOIN roasts r ON ba.roast_id = r.id
|
|
WHERE r.name = 'Guji Highland' AND b.water_volume = 300
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-02 09:30:00')
|
|
WHERE entity_type = 'brew' AND entity_id = (
|
|
SELECT b.id FROM brews b
|
|
JOIN bags ba ON b.bag_id = ba.id
|
|
JOIN roasts r ON ba.roast_id = r.id
|
|
WHERE r.name = 'Red Brick Espresso' AND b.water_volume = 200
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-12 08:15:00')
|
|
WHERE entity_type = 'brew' AND entity_id = (
|
|
SELECT b.id FROM brews b
|
|
JOIN bags ba ON b.bag_id = ba.id
|
|
JOIN roasts r ON ba.roast_id = r.id
|
|
WHERE r.name = 'El Paraiso 92 Anaerobic' AND b.water_volume = 225
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-20 09:00:00')
|
|
WHERE entity_type = 'brew' AND entity_id = (
|
|
SELECT b.id FROM brews b
|
|
JOIN bags ba ON b.bag_id = ba.id
|
|
JOIN roasts r ON ba.roast_id = r.id
|
|
WHERE r.name = 'Suke Quto' AND b.water_volume = 320
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-28 08:45:00')
|
|
WHERE entity_type = 'brew' AND entity_id = (
|
|
SELECT b.id FROM brews b
|
|
JOIN bags ba ON b.bag_id = ba.id
|
|
JOIN roasts r ON ba.roast_id = r.id
|
|
WHERE r.name = 'Simbi' AND b.water_volume = 256
|
|
);
|
|
|
|
-- Cup timeline events (match cup created_at)
|
|
-- Monmouth Coffee cups
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-12 11:30:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Monmouth Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Red Brick Espresso')
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-12 12:15:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Monmouth Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Kamwangi')
|
|
);
|
|
|
|
-- Prufrock Coffee cups
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-20 14:45:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Prufrock Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Kochere')
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-20 15:30:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Prufrock Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'La Laja')
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-08-25 10:00:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Prufrock Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Ben Saïd Natural')
|
|
);
|
|
|
|
-- The Barn cups
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-08 10:30:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'The Barn')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Gatomboya')
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-08 15:00:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'The Barn')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Los Pirineos')
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-09 09:30:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'The Barn')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Halo Beriti')
|
|
);
|
|
|
|
-- Companion Coffee cups
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-10 15:30:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Companion Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'El Paraiso 92 Anaerobic')
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-09-10 16:15:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Companion Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Oreti SL28')
|
|
);
|
|
|
|
-- Man Versus Machine cups
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-07 10:00:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Man Versus Machine')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Finca Tamana Washed')
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-07 14:30:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Man Versus Machine')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'La Esmeralda Geisha')
|
|
);
|
|
|
|
-- Vits der Kaffee cup
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-10-09 11:30:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Vits der Kaffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'San Fermin')
|
|
);
|
|
|
|
-- Hola Coffee cups
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-05 12:30:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Hola Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Cerro Azul')
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-06 10:00:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Hola Coffee')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Guji Highland')
|
|
);
|
|
|
|
-- Toma Café cup
|
|
UPDATE timeline_events SET occurred_at = datetime('2025-11-07 11:00:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Toma Café')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Daterra Sweet Collection')
|
|
);
|
|
|
|
-- Full Court Press cups
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-11 10:30:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Full Court Press')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Suke Quto')
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-11 11:15:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Full Court Press')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Death to Decaf')
|
|
);
|
|
|
|
-- Small Street Espresso cups
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-11 14:30:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Small Street Espresso')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'Simbi')
|
|
);
|
|
|
|
UPDATE timeline_events SET occurred_at = datetime('2026-01-11 15:00:00')
|
|
WHERE entity_type = 'cup' AND entity_id = (
|
|
SELECT id FROM cups WHERE cafe_id = (SELECT id FROM cafes WHERE name = 'Small Street Espresso')
|
|
AND roast_id = (SELECT id FROM roasts WHERE name = 'La Chumeca')
|
|
);
|
|
|
|
ENDSQL
|
|
|
|
echo
|
|
echo "Bootstrapped database with distributed timestamps"
|
|
echo
|
|
echo "Set token $BREWLOG_TOKEN to use the data added here." |