diff --git a/.github/workflows/validate-content.yml b/.github/workflows/validate-content.yml index d765754..a65d8ea 100644 --- a/.github/workflows/validate-content.yml +++ b/.github/workflows/validate-content.yml @@ -10,6 +10,7 @@ on: push: branches: - main + - dev paths: - 'topics/**/*.json' - 'manifest.json' diff --git a/categories.json b/categories.json index 4e30ea3..9801307 100644 --- a/categories.json +++ b/categories.json @@ -2,22 +2,22 @@ { "id": "fundamentals", "name": "Platform Fundamentals", - "icon": "\ud83c\udfd7\ufe0f", + "icon": "🏗️", "color": "#3b82f6", "description": "Core concepts, installation, architecture, and version management", "topics": [ { - "id": "platform-fundamentals", + "id": "platform_fundamentals", "name": "Platform Fundamentals", - "file": "platform-fundamentals.json", + "file": "platform_fundamentals.json", "conceptCount": 4, "description": "Installation, management tools, versions, and support models", "keywords": ["installation", "setup", "ide", "management", "tools", "versions", "support", "ssms", "pgadmin"] }, { - "id": "docker-setup", + "id": "docker_setup", "name": "Docker Setup for PostgreSQL", - "file": "docker-setup.json", + "file": "docker_setup.json", "conceptCount": 8, "description": "Complete guide to setting up PostgreSQL using Docker on Windows", "keywords": ["docker", "setup", "installation", "container", "wsl2", "hyper-v", "volumes", "persistence", "pgadmin", "compose"] @@ -27,14 +27,14 @@ { "id": "database", "name": "Database Management", - "icon": "\ud83d\uddc4\ufe0f", + "icon": "🗄️", "color": "#8b5cf6", "description": "Creating, configuring, and maintaining databases", "topics": [ { - "id": "database-management", + "id": "database_management", "name": "Database Creation & Configuration", - "file": "database-management.json", + "file": "database_management.json", "conceptCount": 2, "description": "Core database operations, creation, and configuration", "keywords": ["database", "create", "configuration", "settings", "templates", "encoding", "collation"] @@ -42,7 +42,7 @@ { "id": "transactions_locking", "name": "Transactions and Locking", - "file": "transactions-locking.json", + "file": "transactions_locking.json", "conceptCount": 4, "addedDate": "2026-03-26", "description": "Transaction control, isolation levels, locking behavior, and deadlock handling", @@ -53,14 +53,14 @@ { "id": "backup", "name": "Backup & Recovery", - "icon": "\ud83d\udcbe", + "icon": "💾", "color": "#10b981", "description": "Backup strategies, restore operations, and disaster recovery", "topics": [ { - "id": "backup-recovery", + "id": "backup_recovery", "name": "Backup & Recovery Strategies", - "file": "backup-recovery.json", + "file": "backup_recovery.json", "conceptCount": 4, "description": "Backup strategies, restore operations, and recovery models", "keywords": ["backup", "restore", "recovery", "pg_dump", "wal", "transaction log", "pitr", "point in time"] @@ -70,14 +70,14 @@ { "id": "security", "name": "Security & Access", - "icon": "\ud83d\udd10", + "icon": "🔐", "color": "#f59e0b", "description": "User management, roles, permissions, and security best practices", "topics": [ { - "id": "security-access-control", + "id": "security_access_control", "name": "Security & Access Control", - "file": "security-access-control.json", + "file": "security_access_control.json", "conceptCount": 2, "description": "Authentication, authorization, users, roles, and security features", "keywords": ["security", "authentication", "authorization", "users", "roles", "logins", "permissions", "rls"] @@ -87,14 +87,14 @@ { "id": "programmability", "name": "Programmability", - "icon": "\ud83d\udccb", + "icon": "📋", "color": "#3b82f6", "description": "Creating and calling stored procedures, user-defined functions, and output parameters", "topics": [ { "id": "stored_procedures", "name": "Stored Procedures and Functions", - "file": "stored-procedures.json", + "file": "stored_procedures.json", "conceptCount": 4, "description": "Creating and calling stored procedures, user-defined functions, and output parameters", "keywords": ["stored procedure", "function", "create procedure", "plpgsql", "udf", "output parameters", "table-valued function", "scalar function", "return value", "programmability"] @@ -102,7 +102,7 @@ { "id": "error_handling", "name": "Error Handling", - "file": "error-handling.json", + "file": "error_handling.json", "conceptCount": 3, "addedDate": "2026-03-27", "description": "Structured error handling, custom errors, and error information functions", @@ -113,14 +113,14 @@ { "id": "query_techniques", "name": "Query Techniques", - "icon": "\ud83d\udccb", + "icon": "📋", "color": "#3b82f6", "description": "Common string manipulation functions: searching, splitting, formatting, and pattern matching", "topics": [ { "id": "string_functions", "name": "String Functions", - "file": "string-functions.json", + "file": "string_functions.json", "conceptCount": 4, "addedDate": "2026-03-26", "description": "Common string manipulation functions: searching, splitting, formatting, and pattern matching", @@ -129,7 +129,7 @@ { "id": "window_functions", "name": "Window Functions", - "file": "window-functions.json", + "file": "window_functions.json", "conceptCount": 4, "addedDate": "2026-03-26", "description": "Ranking, aggregate, and value window functions with OVER, PARTITION BY, and frame specifications", @@ -140,14 +140,14 @@ { "id": "performance", "name": "Performance & Optimization", - "icon": "\ud83d\udccb", + "icon": "📋", "color": "#3b82f6", "description": "Managing server memory allocation and parallelism settings for database instances", "topics": [ { "id": "instance_resource_configuration", "name": "Instance Resource Configuration", - "file": "server-memory.json", + "file": "server_memory.json", "conceptCount": 2, "addedDate": "2026-03-27", "description": "Managing server memory allocation and parallelism settings for database instances", diff --git a/checklist.json b/checklist.json index e76fb02..ced6c6b 100644 --- a/checklist.json +++ b/checklist.json @@ -7,7 +7,7 @@ "description": "Mapping SQL Server data types to their PostgreSQL equivalents, including numeric, string, date/time, and binary types", "categoryId": "fundamentals", "categoryName": "Fundamentals", - "file": "data-types.json", + "file": "data_types.json", "status": "in_progress", "retries": 0, "createdAt": "2026-03-25T00:00:00.000Z", @@ -75,7 +75,7 @@ "description": "Creating and calling stored procedures, user-defined functions, and output parameters", "categoryId": "programmability", "categoryName": "Programmability", - "file": "stored-procedures.json", + "file": "stored_procedures.json", "status": "complete", "retries": 0, "createdAt": "2026-03-26T00:00:00.000Z", @@ -109,7 +109,7 @@ "description": "Transaction control, isolation levels, locking behavior, and deadlock handling", "categoryId": "database", "categoryName": "Database Management", - "file": "transactions-locking.json", + "file": "transactions_locking.json", "status": "complete", "retries": 0, "createdAt": "2026-03-26T12:00:00.000Z", @@ -143,7 +143,7 @@ "description": "Common string manipulation functions: searching, splitting, formatting, and pattern matching", "categoryId": "query_techniques", "categoryName": "Query Techniques", - "file": "string-functions.json", + "file": "string_functions.json", "status": "complete", "retries": 0, "createdAt": "2026-03-26T10:00:00.000Z", @@ -177,7 +177,7 @@ "description": "Ranking, aggregate, and value window functions with OVER, PARTITION BY, and frame specifications", "categoryId": "query_techniques", "categoryName": "Query Techniques", - "file": "window-functions.json", + "file": "window_functions.json", "status": "complete", "retries": 0, "createdAt": "2026-03-26T12:00:00.000Z", @@ -211,7 +211,7 @@ "description": "Structured error handling, custom errors, and error information functions", "categoryId": "programmability", "categoryName": "Programmability", - "file": "error-handling.json", + "file": "error_handling.json", "status": "complete", "retries": 0, "createdAt": "2026-03-27T00:00:00.000Z", @@ -240,7 +240,7 @@ "description": "Managing server memory allocation and parallelism settings for database instances", "categoryId": "performance", "categoryName": "Performance & Optimization", - "file": "server-memory.json", + "file": "server_memory.json", "status": "complete", "retries": 0, "createdAt": "2026-03-27T00:00:00.000Z", @@ -264,7 +264,7 @@ "description": "Covers SQL Server log shipping setup vs PostgreSQL WAL-based streaming replication and standby servers for HA and read replicas, and the use of log shipping to migrate from one SQL server to another and Postgres equivalent.", "categoryId": "high_availability", "categoryName": "Database Migration and Reporting Copies", - "file": "log-shipping.json", + "file": "log_shipping.json", "status": "pending", "retries": 0, "createdAt": null, @@ -288,7 +288,7 @@ "description": "Storing, querying, and manipulating JSON data natively in SQL Server and PostgreSQL", "categoryId": "query_techniques", "categoryName": "Query Techniques", - "file": "json-support.json", + "file": "json_support.json", "status": "pending", "retries": 0, "createdAt": null, diff --git a/manifest.json b/manifest.json index 63d296d..5c2b05a 100644 --- a/manifest.json +++ b/manifest.json @@ -7,77 +7,77 @@ "title": "Backup & Recovery", "description": "Backup strategies, restore operations, and recovery models", "conceptCount": 4, - "file": "topics/backup-recovery.json" + "file": "topics/backup_recovery.json" }, { "id": "database_management", "title": "Database Management", "description": "Core database operations, creation, and configuration", "conceptCount": 2, - "file": "topics/database-management.json" + "file": "topics/database_management.json" }, { "id": "docker_setup", "title": "Docker Setup for PostgreSQL", "description": "Complete guide to setting up PostgreSQL using Docker on Windows - includes both Docker Desktop and Hyper-V alternatives", "conceptCount": 8, - "file": "topics/docker-setup.json" + "file": "topics/docker_setup.json" }, { "id": "platform_fundamentals", "title": "Platform Fundamentals", "description": "Installation, management tools, versions, and support models", "conceptCount": 4, - "file": "topics/platform-fundamentals.json" + "file": "topics/platform_fundamentals.json" }, { "id": "security_access_control", "title": "Security & Access Control", "description": "User management, roles, permissions, and security best practices", "conceptCount": 2, - "file": "topics/security-access-control.json" + "file": "topics/security_access_control.json" }, { "id": "stored_procedures", "title": "Stored Procedures and Functions", "description": "Creating and calling stored procedures, user-defined functions, and output parameters", "conceptCount": 4, - "file": "topics/stored-procedures.json" + "file": "topics/stored_procedures.json" }, { "id": "transactions_locking", "title": "Transactions and Locking", "description": "Transaction control, isolation levels, locking behavior, and deadlock handling", "conceptCount": 4, - "file": "topics/transactions-locking.json" + "file": "topics/transactions_locking.json" }, { "id": "string_functions", "title": "String Functions", "description": "Common string manipulation functions: searching, splitting, formatting, and pattern matching", "conceptCount": 4, - "file": "topics/string-functions.json" + "file": "topics/string_functions.json" }, { "id": "window_functions", "title": "Window Functions", "description": "Ranking, aggregate, and value window functions with OVER, PARTITION BY, and frame specifications", "conceptCount": 4, - "file": "topics/window-functions.json" + "file": "topics/window_functions.json" }, { "id": "instance_resource_configuration", "title": "Instance Resource Configuration", "description": "Managing server memory allocation and parallelism settings for database instances", "conceptCount": 2, - "file": "topics/server-memory.json" + "file": "topics/server_memory.json" }, { "id": "error_handling", "title": "Error Handling", "description": "Structured error handling, custom errors, and error information functions", "conceptCount": 3, - "file": "topics/error-handling.json" + "file": "topics/error_handling.json" } ] } diff --git a/topics/backup-recovery.json b/topics/backup_recovery.json similarity index 100% rename from topics/backup-recovery.json rename to topics/backup_recovery.json diff --git a/topics/database-management.json b/topics/database_management.json similarity index 100% rename from topics/database-management.json rename to topics/database_management.json diff --git a/topics/docker-setup.json b/topics/docker_setup.json similarity index 100% rename from topics/docker-setup.json rename to topics/docker_setup.json diff --git a/topics/error-handling.json b/topics/error_handling.json similarity index 100% rename from topics/error-handling.json rename to topics/error_handling.json diff --git a/topics/platform-fundamentals.json b/topics/platform_fundamentals.json similarity index 100% rename from topics/platform-fundamentals.json rename to topics/platform_fundamentals.json diff --git a/topics/security-access-control.json b/topics/security_access_control.json similarity index 100% rename from topics/security-access-control.json rename to topics/security_access_control.json diff --git a/topics/server-memory.json b/topics/server_memory.json similarity index 100% rename from topics/server-memory.json rename to topics/server_memory.json diff --git a/topics/stored-procedures.json b/topics/stored_procedures.json similarity index 100% rename from topics/stored-procedures.json rename to topics/stored_procedures.json diff --git a/topics/string-functions.json b/topics/string_functions.json similarity index 100% rename from topics/string-functions.json rename to topics/string_functions.json diff --git a/topics/transactions-locking.json b/topics/transactions_locking.json similarity index 100% rename from topics/transactions-locking.json rename to topics/transactions_locking.json diff --git a/topics/window-functions.json b/topics/window_functions.json similarity index 100% rename from topics/window-functions.json rename to topics/window_functions.json