Overhaul publicreport storage layer, create unified tables

This is a huge change. I was getting really sick of the split between
nuisance/water tables when more than half of the data they store is
common. I finally bit off the big work of switching it all.

This creates a single unified table, publicreport.report and copies the
existing report data into it. It also ports existing data from the
original tables into the new table.

Along with all of this I also overhauled the system for handling
asynchronous work to use a LISTEN/NOTIFY connection from the database
and a single cache table to avoid ever losing work.
This commit is contained in:
Eli Ribble 2026-03-18 15:36:20 +00:00
parent 2538638c9d
commit 1e071d5ce5
No known key found for this signature in database
109 changed files with 22903 additions and 11713 deletions

View file

@ -4,23 +4,14 @@
package dberrors
var PublicreportWaterErrors = &publicreportWaterErrors{
ErrUniquePoolPkey: &UniqueConstraintError{
ErrUniqueWaterPkey: &UniqueConstraintError{
schema: "publicreport",
table: "water",
columns: []string{"id"},
s: "pool_pkey",
},
ErrUniquePoolPublicIdKey: &UniqueConstraintError{
schema: "publicreport",
table: "water",
columns: []string{"public_id"},
s: "pool_public_id_key",
columns: []string{"report_id"},
s: "water_pkey",
},
}
type publicreportWaterErrors struct {
ErrUniquePoolPkey *UniqueConstraintError
ErrUniquePoolPublicIdKey *UniqueConstraintError
ErrUniqueWaterPkey *UniqueConstraintError
}