{"repo":"dsecurity49/safe-migrate","free":true,"listed":false,"github":"https://github.com/dsecurity49/safe-migrate","clone":"git clone https://github.com/dsecurity49/safe-migrate.git","description":"A CI/CD infrastructure tool that prevents PostgreSQL database migrations from causing catastrophic locks in production.","language":"Rust","stars":21,"topics":["ast","ci-cd","cli","database","devops","devops-tools","linter","migration","postgres","postgresql"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"safe-migrate safe-migrate analyzes PostgreSQL migrations before they reach production. It parses SQL into a typed AST, simulates schema changes in order, and reports operations that may block, rewrite data, destroy objects, or fail against the modeled database state. A local cache can supply production schema metadata and table statistics for database-aware findings. Linting is otherwise offline. safe-migrate is a review aid, not a substitute for testing migrations on a representative database or planning application rollouts and backfills. Install With Rust Cargo is the primary installation method when Rust is already available: Prebuilt binary The installer detects supported Linux, macOS, Windows/MSYS, and Termux targets, verifies the release checksum, and installs the latest published binary: Piping a script from the default branch is convenient but not reproducible. Review install.sh first or download a tagged installer when you need to pin exactly what runs: Run bash install.sh --help after downloading the installer for pinning and destination options. Archives, checksums, and manual downloads are available on the GitHub Releases page. Quick start Create a database baseline, then lint one migration or a directory of ordered migrations: sync writes .safe-migrate.cache by default. Use a least-privilege database role that can read the required PostgreSQL catalogs, and keep DATABASE URL out of source control. Direct remote connections are rejected. Connect through localhost,","default_branch":null,"files":null,"tree":[],"storefront":"/r/dsecurity49","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dsecurity49/safe-migrate/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}