Merge remote-tracking branch 'entropy-xu/payment-billing-plans'

# Conflicts:
#	crates/aether-data/src/lifecycle/bootstrap/postgres.rs
#	crates/aether-data/src/lifecycle/migrate/tests.rs
#	frontend/src/views/admin/Users.vue
This commit is contained in:
fawney19
2026-05-15 16:37:17 +08:00
97 changed files with 14795 additions and 402 deletions

View File

@@ -7,7 +7,7 @@ use tracing::info;
// Generated by build.rs from schema/bootstrap/postgres.
pub(crate) static EMPTY_DATABASE_SNAPSHOT_SQL: &str =
include_str!(concat!(env!("OUT_DIR"), "/empty_database_snapshot.sql"));
pub(crate) const EMPTY_DATABASE_SNAPSHOT_CUTOFF_VERSION: i64 = 20260512000000;
pub(crate) const EMPTY_DATABASE_SNAPSHOT_CUTOFF_VERSION: i64 = 20260512110000;
const PUBLIC_BASE_TABLE_COUNT_SQL: &str = r#"
SELECT COUNT(*)::BIGINT

View File

@@ -302,6 +302,8 @@ fn empty_database_snapshot_covers_current_cutoff_versions() {
20260511120000,
20260511130000,
20260512000000,
20260512090000,
20260512110000,
]
);
}
@@ -374,6 +376,18 @@ fn empty_database_snapshot_sql_includes_usage_body_blobs() {
));
}
#[test]
fn empty_database_snapshot_sql_includes_payment_gateway_and_plans() {
assert!(EMPTY_DATABASE_SNAPSHOT_SQL.contains("payment_provider character varying(64)"));
assert!(EMPTY_DATABASE_SNAPSHOT_SQL
.contains("CREATE TABLE IF NOT EXISTS public.payment_gateway_configs"));
assert!(EMPTY_DATABASE_SNAPSHOT_SQL.contains("CREATE TABLE IF NOT EXISTS public.billing_plans"));
assert!(EMPTY_DATABASE_SNAPSHOT_SQL
.contains("purchase_limit_scope character varying(32) DEFAULT 'active_period'"));
assert!(EMPTY_DATABASE_SNAPSHOT_SQL
.contains("CREATE TABLE IF NOT EXISTS public.user_plan_entitlements"));
}
#[test]
fn provider_api_keys_api_formats_remains_nullable_in_baselines() {
let baseline_migration = POSTGRES_MIGRATOR
@@ -569,6 +583,8 @@ fn mysql_and_sqlite_migrations_include_enabled_incrementals() {
20260511120000,
20260511130000,
20260512000000,
20260512090000,
20260512110000,
]
);
assert_eq!(
@@ -583,6 +599,8 @@ fn mysql_and_sqlite_migrations_include_enabled_incrementals() {
20260511120000,
20260511130000,
20260512000000,
20260512090000,
20260512110000,
]
);
}
@@ -1096,6 +1114,8 @@ fn pending_migrations_from_applied_skips_versions_already_applied() {
20260511120000,
20260511130000,
20260512000000,
20260512090000,
20260512110000,
]
);
}