import { pgTable, uuid, text, boolean, doublePrecision, timestamp, index, } from "drizzle-orm/pg-core"; /** * Feuerwehren. `lat/lng` werden aus der Adresse geokodiert (Geo-Workstream). * `wehrfuehrer` bewusst ASCII (keine Umlaute in JS-Property/DB-Spalte). */ export const brigades = pgTable( "brigades", { id: uuid("id").primaryKey().defaultRandom(), name: text("name").notNull(), art: text("art").notNull().default("FF"), strasse: text("strasse"), plz: text("plz"), ort: text("ort"), bundesland: text("bundesland").notNull().default("Niederösterreich"), lat: doublePrecision("lat"), lng: doublePrecision("lng"), geocodeQuery: text("geocode_query"), geocodedAt: timestamp("geocoded_at", { withTimezone: true }), geocodeStatus: text("geocode_status"), funkrufnameSchema: text("funkrufname_schema"), wehrfuehrer: text("wehrfuehrer"), telefon: text("telefon"), email: text("email"), aktiv: boolean("aktiv").notNull().default(true), erstelltAm: timestamp("erstellt_am", { withTimezone: true }) .notNull() .defaultNow(), }, (t) => ({ latlngIdx: index("brigades_latlng_idx").on(t.lat, t.lng), }), );