Repository navigation
fix(db): require explicit database configuration - #119
Merged
Merged
Conversation
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CRM previously selected memory storage when DATABASE_URL was absent, PostgreSQL clients could infer a database target, and Compose/CI supplied fixed connection credentials. Require an explicit PostgreSQL URL with a host and database name, including multi-host URLs, and fail before database commands start when configuration is missing.
Local database commands load the ignored root
.envwithout overriding supplied environment values; standalone CLI commands load the invoking directory's.env. Database CI jobs use the configured GitHubcienvironment with DATABASE_URL/POSTGRES_PASSWORD secrets and POSTGRES_USER/POSTGRES_DB variables. Compose requires its URL and password. CRM memory storage is available only through an explicit test-only switch.Compatibility: local users must populate DATABASE_URL; Compose users must also supply FRAMEKIT_POSTGRES_PASSWORD. Fork CI runs need a maintainer-controlled environment with the required secrets. No credentials are committed.
Validation: lint, workspace typechecks, workspace tests, unit coverage, and workspace build; 40 PostgreSQL integration tests; 10 Chromium/Firefox full-stack browser tests; built-server smoke and failure-cleanup checks; missing-URL rejection in the command runner and Compose. All 21 hosted checks passed on commit 87ce481, including workflow/environment wiring, both PostgreSQL matrix entries, browser suites, CodeQL, and dependency audit.
Realtime delivery now sorts by the bigint source column instead of its projected text alias. A forced batch across a decimal boundary reproduces duplicate/out-of-order delivery before the fix and passes afterward. PostgreSQL service coverage passes all 42 tests and its thresholds. Frontend browser fixtures use the built server with explicit test-only memory storage instead of an implicit development fallback; hosted CI passed with this fixture change.
The older GitRoll report's database credential findings are addressed here. Its sorting, regex, and logout-guard warnings did not reproduce as current bugs; unrelated maintainability refactors are outside this change.