refactor(publish): 公开读改走只读视图,后台仍读基表

This commit is contained in:
toom1996
2026-09-23 10:07:43 +08:00
parent 83823a8d49
commit f5144038ab
8 changed files with 260 additions and 23 deletions

View File

@ -0,0 +1,19 @@
package repository
// 公开只读视图的表名。
//
// 把「已发布且未删除」的条件固化在视图里(见 db/migrations/2026-09-22-01-single-table-publish.sql),
// 因此公开查询**不可能**漏写可见性过滤 —— 这是单表发布模型相对「每处记得加 status」的核心优势。
//
// publicRunways 带 `AS brand_runways` 别名:article_repository 里既有的查询大量使用
// `brand_runways.xxx` 限定列与 JOIN 条件,起同名别名后这些 SQL 一行都不用改。
//
// publicStreetSnaps 同样带 `AS street_snaps` 别名:street_snaps 的排序子句 snapOrderBy
// 使用 `street_snaps.xxx` 限定列,不带别名会报 missing FROM-clause entry。
// 后台读基表时**不要**使用这些常量。
const (
publicRunways = "public_brand_runways AS brand_runways"
publicRunwayImages = "public_brand_runway_images"
publicStreetSnaps = "public_street_snaps AS street_snaps"
publicStreetSnapImages = "public_street_snap_images"
)