Fix relay banner migration inventory

Signed-off-by: coder 0 <d97ebdbb198c7237c94f84ea8bb8a73583ea067407eebd0062abbb3962527fb1@buzz.block.builderlab.xyz>
This commit is contained in:
coder 0
2026-09-17 15:15:01 -04:00
parent 69f26c9a86
commit 7d768e465a
2 changed files with 16 additions and 1 deletions

View File

@@ -707,7 +707,7 @@ mod postgres_tests {
let mut migrations: Vec<_> = MIGRATOR.iter().collect();
migrations.sort_by_key(|migration| migration.version);
assert_eq!(migrations.len(), 46);
assert_eq!(migrations.len(), 47);
assert_eq!(migrations[0].version, 1);
assert_eq!(&*migrations[0].description, "initial schema");
assert!(migrations[0]
@@ -1292,6 +1292,21 @@ mod postgres_tests {
.sql
.as_str()
.contains("CREATE TABLE storage_accounting_snapshots"));
// Relay banners are deployment-global operator configuration and
// per-user display state. Keep them additive after storage accounting
// so the brownfield 0046 checksum from main remains immutable.
assert_eq!(migrations[46].version, 47);
let relay_banners = migrations[46].sql.as_str();
assert!(relay_banners.contains("CREATE TABLE relay_banners"));
assert!(relay_banners.contains("CREATE TABLE relay_banner_communities"));
assert!(relay_banners.contains("CREATE TABLE relay_banner_user_state"));
assert!(relay_banners.contains("CREATE TABLE relay_banner_view_acks"));
assert!(relay_banners.contains("_operator_global_tables"));
assert!(relay_banners.contains("attach_community_write_fence('relay_banner_communities')"));
assert!(relay_banners.contains("attach_community_write_fence('relay_banner_user_state')"));
assert!(relay_banners.contains("attach_community_write_fence('relay_banner_view_acks')"));
assert!(!migrations[0].sql.as_str().contains("relay_banners"));
// schema.sql exclusion list must match the restored (pre-0041) body.
assert!(
desired_schema.contains("'rate_limit_violations'\n ]::TEXT[])"),