defmodule Ammoprices.Repo.Migrations.SeedRetailersAndCalibers do use Ecto.Migration def up do now = DateTime.utc_now() |> DateTime.truncate(:second) |> DateTime.to_naive() retailers = [ %{name: "Lucky Gunner", slug: "lucky-gunner", base_url: "https://www.luckygunner.com"}, %{name: "SGAmmo", slug: "sgammo", base_url: "https://www.sgammo.com"}, %{ name: "Target Sports USA", slug: "target-sports-usa", base_url: "https://www.targetsportsusa.com" } ] for r <- retailers do execute(""" INSERT INTO retailers (id, name, slug, base_url, inserted_at, updated_at) VALUES (gen_random_uuid(), '#{r.name}', '#{r.slug}', '#{r.base_url}', '#{now}', '#{now}') ON CONFLICT (slug) DO NOTHING """) end calibers = [ {"9mm Luger", "9mm-luger", "handgun", ~s({"9mm","9x19","9mm parabellum","9mm nato"})}, {".45 ACP", "45-acp", "handgun", ~s({".45 acp","45 acp",".45 auto","45 auto"})}, {".380 ACP", "380-acp", "handgun", ~s({".380","380 acp",".380 auto","380 auto"})}, {".40 S&W", "40-sw", "handgun", ~s({".40 s&w","40 s&w",".40 cal","40 cal"})}, {".38 Special", "38-special", "handgun", ~s({".38 spl","38 special",".38 spc","38 spl"})}, {".357 Magnum", "357-magnum", "handgun", ~s({".357 mag","357 mag","357 magnum"})}, {"10mm Auto", "10mm-auto", "handgun", ~s({"10mm","10mm auto"})}, {"5.56x45 / .223 Rem", "556-223", "rifle", ~s({"5.56","5.56x45",".223",".223 rem","223 remington","5.56 nato"})}, {".308 Win / 7.62x51", "308-win", "rifle", ~s({".308",".308 win","308 winchester","7.62x51","7.62 nato"})}, {"7.62x39", "762x39", "rifle", ~s({"7.62x39","7.62x39mm"})}, {".30-06 Springfield", "30-06", "rifle", ~s({".30-06","30-06","30-06 springfield",".30-06 sprg"})}, {".300 Blackout", "300-blackout", "rifle", ~s({".300 blk","300 blackout",".300 aac blackout","300 blk"})}, {"6.5 Creedmoor", "65-creedmoor", "rifle", ~s({"6.5 creedmoor","6.5cm","6.5 cm"})}, {".22 LR", "22-lr", "rimfire", ~s({".22 lr","22 lr",".22 long rifle","22 long rifle"})}, {".22 WMR", "22-wmr", "rimfire", ~s({".22 wmr","22 wmr",".22 magnum","22 mag"})}, {".17 HMR", "17-hmr", "rimfire", ~s({".17 hmr","17 hmr",".17 hornady magnum"})}, {"12 Gauge", "12-gauge", "shotgun", ~s({"12 gauge","12 ga","12ga"})}, {"20 Gauge", "20-gauge", "shotgun", ~s({"20 gauge","20 ga","20ga"})} ] for {name, slug, category, aliases} <- calibers do execute(""" INSERT INTO calibers (id, name, slug, category, aliases, inserted_at, updated_at) VALUES (gen_random_uuid(), '#{name}', '#{slug}', '#{category}', '#{aliases}', '#{now}', '#{now}') ON CONFLICT (slug) DO NOTHING """) end end def down do execute("DELETE FROM calibers") execute("DELETE FROM retailers") end end