{"id":40345971,"url":"https://github.com/chaluvadis/postgres-schema-sync","last_synced_at":"2026-01-20T09:08:47.902Z","repository":{"id":317091423,"uuid":"1065939946","full_name":"chaluvadis/postgres-schema-sync","owner":"chaluvadis","description":"PostgreSQL Schema Compare \u0026 Sync","archived":false,"fork":false,"pushed_at":"2025-11-16T18:27:43.000Z","size":3151,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-16T20:21:47.208Z","etag":null,"topics":["database","devops","hacktoberfest","postgresql","schema","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chaluvadis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-28T18:25:34.000Z","updated_at":"2025-11-05T12:10:22.000Z","dependencies_parsed_at":"2025-10-16T18:04:03.210Z","dependency_job_id":"d80ada91-3364-43a5-af6c-5e0237449981","html_url":"https://github.com/chaluvadis/postgres-schema-sync","commit_stats":null,"previous_names":["chaluvadis/vscode-postgres-schema-sync","chaluvadis/postgres-schema-sync"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chaluvadis/postgres-schema-sync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaluvadis%2Fpostgres-schema-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaluvadis%2Fpostgres-schema-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaluvadis%2Fpostgres-schema-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaluvadis%2Fpostgres-schema-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chaluvadis","download_url":"https://codeload.github.com/chaluvadis/postgres-schema-sync/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaluvadis%2Fpostgres-schema-sync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28599882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T08:51:33.170Z","status":"ssl_error","status_checked_at":"2026-01-20T08:51:10.855Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","devops","hacktoberfest","postgresql","schema","typescript"],"created_at":"2026-01-20T09:08:47.846Z","updated_at":"2026-01-20T09:08:47.894Z","avatar_url":"https://github.com/chaluvadis.png","language":"TypeScript","readme":"# PostgreSQL Schema Compare \u0026 Sync\n\n**PostgreSQL schema management in VSCode**\n\n[![VSCode Marketplace](https://img.shields.io/badge/VSCode-Marketplace-orange.svg)](https://marketplace.visualstudio.com/vscode)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n\n## 🚀 Quick Overview\n\nManage PostgreSQL schemas without leaving VSCode. Visual schema comparison, migration generation, and database browsing - all in one seamless workflow.\n\n### 🎯 Key Benefits\n\n- **10x Faster**: Connection pooling and caching for instant operations\n- **Zero Context Switching**: Everything you need stays within VSCode\n- **Enterprise Ready**: Auto-recovery, rollback support, and comprehensive error handling\n- **Team Collaboration**: Visual diff tools and shared migration scripts\n\n### 👥 Who It's For\n\n- **Developers**: Manage schemas alongside code development\n- **DevOps Teams**: Streamline database deployments\n- **DBAs**: Visual schema comparison and migration planning\n\n### 💼 Common Use Cases\n\n| Scenario | Benefit | Solution |\n|----------|---------|----------|\n| **Schema Migration** | 80% faster deployments | Automated SQL generation |\n| **Multi-Environment** | Eliminate drift | Visual comparison across envs |\n| **Code-Schema Sync** | Prevent integration issues | Real-time schema browsing |\n\n## Features\n\n### 🔗 Database Connections\n- **Multi-Environment Support:** Manage connections across local, dev, staging, and production\n- **Secure Storage:** Encrypted credential storage using VSCode's Secret Storage API\n- **Connection Health:** Auto-recovery from network interruptions and health monitoring\n- **Connection Pooling:** Advanced pooling for optimal performance\n\n### 🌳 Visual Database Explorer\n- **Activity Bar Integration:** Dedicated PostgreSQL icon in VSCode's sidebar\n- **Tree Navigation:** Browse all database objects in an intuitive hierarchical view\n- **Object Support:** Tables, views, functions, procedures, sequences, indexes, constraints\n- **Quick Actions:** Right-click context menus for all database operations\n\n### ⚖️ Schema Comparison\n- **Visual Diff Engine:** Color-coded differences with syntax highlighting\n- **Flexible Modes:** Choose between strict and intelligent comparison algorithms\n- **Selective Analysis:** Compare full schemas or specific objects\n- **Background Processing:** Non-blocking operations with caching\n\n### 🔄 Migration \u0026 Sync\n- **Safe Deployments:** Dry-run mode and SQL preview before execution\n- **Selective Sync:** Choose exactly which changes to apply\n- **Rollback Support:** Automatic rollback script generation\n- **Progress Tracking:** Real-time migration monitoring\n\n### 📊 Object Details\n- **Rich Metadata:** View columns, constraints, indexes, and dependencies\n- **Source Code:** Function and procedure source with syntax highlighting\n- **Sample Data:** Table data preview for context\n- **Dependencies:** Visual relationship and foreign key analysis\n\n---\n\n## Architecture\n\n### ASCII Diagram\n\n```\n                +----------------------------+\n                |   VSCode Extension UI      |\n                |  (Webview, Treeview)       |\n                +-------------+--------------+\n                              |\n                              |\n                +-------------V---------------+\n                |  Extension Backend          |\n                |  (TypeScript/Node.js)       |\n                |  - Controller/Coordinator   |\n                |  - Schema Compare Module    |\n                |  - Migration Generator      |\n                +-------------+---------------+\n                              |\n                +--+----------V--------+------+\n                |                             |\n                v                             v\n            +------------+          +----------------+\n            |   Local    |          |   Production   |\n            | Postgres   |          |   Postgres     |\n            +------------+          +----------------+\n```\n\n```mermaid\nflowchart TD\n    subgraph \"VSCode Extension\"\n        UI[\"UI Webview Panel\"]\n        Tree[\"Database Explorer Treeview\"]\n        Cmd[\"Command Palette\"]\n        UI --\u003e Backend\n        Tree --\u003e Backend\n        Cmd --\u003e Backend\n    end\n\n    subgraph \"Extension Backend\"\n        Backend[\"Controller/Coordinator\"]\n        Compare[\"Schema Comparison Module\"]\n        Migrate[\"Migration Generator\"]\n        Backend --\u003e Compare\n        Backend --\u003e Migrate\n    end\n\n    subgraph \"Databases\"\n        Local[\"Local PostgreSQL\"]\n        Prod[\"Production PostgreSQL\"]\n    end\n\n    Compare --\u003e|\"Fetches Metadata\"| Local\n    Compare --\u003e|\"Fetches Metadata\"| Prod\n    Migrate --\u003e|\"Generates SQL\"| Prod\n```\n\n### 🚀 Performance-Optimized Architecture\n\n**Connection Management:**\n- **Advanced Connection Pooling:** Reuses database connections for optimal performance (10x faster operations)\n- **Health Monitoring:** Proactive connection health checks with automatic recovery from network interruptions\n- **Auto-Reconnection:** Seamless recovery from network issues and database server restarts\n\n**Schema Processing:**\n- **Intelligent Caching:** Background schema refresh with smart invalidation reduces database roundtrips\n- **Parallel Processing:** Multi-threaded schema extraction and comparison for large databases\n- **Streaming Results:** Efficient handling of large datasets without memory issues\n\n**Migration Engine:**\n- **Non-Blocking Operations:** Background processing with progress indicators keeps UI responsive\n- **Rollback Support:** Automatic rollback script generation for all migrations\n- **Batch Optimization:** Transaction-safe batch operations for maximum efficiency\n\n---\n\n## Installation \u0026 Usage\n\n**Install:** Get from VSCode Marketplace\n\n**Quick Start:**\n1. Click PostgreSQL icon in Activity Bar\n2. Add connection: host, port, database, credentials\n3. Browse schemas in tree view\n4. Compare: Right-click → Compare Schemas\n5. Migrate: Preview and execute changes\n\n**Commands:** Use Command Palette (`Ctrl+Shift+P`) for all operations\n\n## Development\n\n**Prerequisites:** Node.js 22.0+, PostgreSQL 12+\n\n**Setup:**\n```bash\ngit clone https://github.com/yourusername/postgres-schema-sync.git\ncd postgres-schema-sync\npnpm install\npnpm run build\n```\n\n**Code Quality:**\n- **Linting \u0026 Formatting:** Uses Biome.js for fast, comprehensive code quality checks\n- **TypeScript:** Strict type checking with JSX support\n- **Build Process:** Integrated linting and formatting in CI/CD pipeline\n\n**Project Structure:** VSCode extension (TypeScript) with comprehensive testing\n\n## Contributing\n\n**Contribute:** Fork the repository, create a feature branch, add tests, and submit a pull request.\n\n**Areas:** Database objects, performance, cloud integration, UI improvements\n\n## Security\n\n**Secure:** Encrypted credentials, confirmation dialogs, audit trails\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaluvadis%2Fpostgres-schema-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchaluvadis%2Fpostgres-schema-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaluvadis%2Fpostgres-schema-sync/lists"}