diff --git a/workflows/Generate Complete Database Schemas with Claude Multi-Agent System for SQL Databases-9544/readme-9544.md b/workflows/Generate Complete Database Schemas with Claude Multi-Agent System for SQL Databases-9544/readme-9544.md new file mode 100644 index 000000000..49727afc9 --- /dev/null +++ b/workflows/Generate Complete Database Schemas with Claude Multi-Agent System for SQL Databases-9544/readme-9544.md @@ -0,0 +1,375 @@ +Generate Complete Database Schemas with Claude Multi-Agent System for SQL Databases + +https://n8nworkflows.xyz/workflows/generate-complete-database-schemas-with-claude-multi-agent-system-for-sql-databases-9544 + + +# Generate Complete Database Schemas with Claude Multi-Agent System for SQL Databases + +### 1. Workflow Overview + +This workflow automates the generation of complete, production-ready database schemas for SQL databases using a multi-agent AI system powered by Claude (Anthropic). It is designed for users who provide detailed database requirements via a form. The system iteratively creates, reviews, optimizes, and finally generates executable SQL scripts for the specified database technology, supporting PostgreSQL, MySQL, MSSQL, and MariaDB. + +**Target Use Cases:** +- Rapid prototyping of scalable, normalized database schemas +- AI-assisted database design and review for startups and enterprises +- Automated SQL migration script generation with best practices +- Iterative improvement and quality assurance via AI feedback loops + +**Logical Blocks:** +- **1.1 Input Reception and Initialization:** Receives user input via form and initializes workflow variables. +- **1.2 Multi-Agent Schema Design Pipeline:** Runs through three AI agents sequentially—Architect, Reviewer, and Optimizer—to create and refine the schema iteratively. +- **1.3 Quality Gate and Iteration Control:** Evaluates the optimizer's score and decides to proceed or retry up to 3 times. +- **1.4 SQL Script Generation:** Converts final schema design into an executable SQL script. +- **1.5 Execution and Response Handling:** Optionally executes the SQL script in PostgreSQL and returns success or error responses. +- **1.6 User Interaction and Completion:** Displays final results or errors back to user via form completion node. + +--- + +### 2. Block-by-Block Analysis + +#### 1.1 Input Reception and Initialization + +- **Overview:** Collects database requirements from the user via a web form and initializes key variables for iteration and feedback. +- **Nodes Involved:** Form Submission, Initialize Variables + +**Node Details:** + +- **Form Submission** + - Type: Form Trigger + - Role: Collect user input on database requirements including technology, industry, scale, workflows, integrations, special requirements, and contact email. + - Configuration: Various form fields including textarea, dropdown, number, and email with required validation. + - Outputs: JSON object with user responses. + - Edge cases: Missing required fields; malformed input; slow user response. + +- **Initialize Variables** + - Type: Set node + - Role: Initialize `iteration_count` to 0, `previous_feedback` to "=" (empty placeholder), and store form data for workflow context. + - Configuration: Sets three variables from JSON input. + - Inputs: Output from Form Submission. + - Outputs: Initialized context for agents. + - Edge cases: None significant; fails if input missing. + +--- + +#### 1.2 Multi-Agent Schema Design Pipeline + +- **Overview:** Runs three AI agents in sequence, each powered by Claude Sonnet 4.5, to create, review, and optimize the proposed database schema using the input data and iterative feedback. +- **Nodes Involved:** Architect Model, Agent 1: Database Architect, Reviewer Model, Agent 2: Schema Reviewer, Optimizer Model, Agent 3: Optimizer & Scorer, Track Iteration + +**Node Details:** + +- **Architect Model** + - Type: Anthropic LM Chat node + - Role: Base model configuration for Agent 1. + - Parameters: Temperature 0.3, topP 0.9 for balanced creativity and consistency. + - Credentials: Anthropic API + - Output: Model response to Agent 1. + +- **Agent 1: Database Architect** + - Type: Langchain Agent node + - Role: Designs initial database schema as JSON based on form data and previous feedback if any. + - Prompt: Detailed instructions to design scalable, normalized DB schema with tables, columns, PK, indexes, FKs, enums, extensions, relationships, reasoning. + - Input: Form data and previous feedback from Initialize Variables or Track Iteration. + - Output: JSON design of schema. + - Edge cases: Incomplete feedback; model hallucinations; overly complex schemas. + +- **Reviewer Model** + - Type: Anthropic LM Chat node + - Role: Base model configuration for Agent 2. + - Parameters: Temperature 0.1, topP 0.85 for strict analytical review. + - Credentials: Anthropic API + +- **Agent 2: Schema Reviewer** + - Type: Langchain Agent node + - Role: Reviews Agent 1 schema for normalization, indexing, data types, constraints, performance, scalability, security; outputs structured feedback with severity levels. + - Prompt includes original requirements and schema from Agent 1. + - Output: Structured feedback with CRITICAL to LOW issues and positives. + - Edge cases: Missed issues; false positives; incomplete feedback. + +- **Optimizer Model** + - Type: Anthropic LM Chat node + - Role: Base model config for Agent 3. + - Parameters: Temperature 0.5, topP 0.95 for balanced polish and creativity. + - Credentials: Anthropic API + +- **Agent 3: Optimizer & Scorer** + - Type: Langchain Agent node + - Role: Applies final polish, adds advanced features (materialized views, helper functions), monitoring recommendations, comprehensive score card with grades and justifications, implementation guidance. + - Prompt includes original requirements, schema, and review feedback. + - Output: Score card and enhanced schema. + - Edge cases: Over-optimism; missing critical fixes. + +- **Track Iteration** + - Type: Set node + - Role: Increment iteration count, update previous feedback with Agent 3 output for retry loop, preserve form data. + - Inputs: Agent 3 output and Initialize Variables data. + - Outputs: Updated context for next iteration or decision. + +--- + +#### 1.3 Quality Gate and Iteration Control + +- **Overview:** Evaluates if the schema score is good enough (grade A or B) to proceed to SQL generation or if the workflow should retry up to 3 times for improvement. +- **Nodes Involved:** Is Score A or B?, Can Retry?, Max Iterations Reached + +**Node Details:** + +- **Is Score A or B?** + - Type: If node + - Role: Regex match on Agent 3's output to detect overall grade A or B. + - True path: Proceed to SQL generation. + - False path: Proceed to retry or max iteration check. + +- **Can Retry?** + - Type: If node + - Role: Checks if current iteration count ≤ 3 to allow retry. + - True path: Loop back to Agent 1 for redesign with previous feedback. + - False path: Proceed to Max Iterations Reached. + +- **Max Iterations Reached** + - Type: Set node + - Role: Sets message indicating max 3 iterations reached and proceeds with best design available. + - Outputs: Passes through current iteration and form data for final steps. + +--- + +#### 1.4 SQL Script Generation + +- **Overview:** Converts the finalized database schema design into a detailed, production-ready SQL migration script, tailored for the specified database technology. +- **Nodes Involved:** SQL Generator Model, Agent 4: Generate SQL Script + +**Node Details:** + +- **SQL Generator Model** + - Type: Anthropic LM Chat node + - Role: Base model config for Agent 4. + - Parameters: Temperature 0.2, topP 0.85 for precision. + - Credentials: Anthropic API + +- **Agent 4: Generate SQL Script** + - Type: Langchain Agent node + - Role: Generates full SQL migration script with transaction handling, extension creation (PostgreSQL), enums, tables, indexes, constraints, comments, idempotency, rollback script. + - Input: Database technology, final schema, and optimizations. + - Output: Plain SQL script text (no markdown or commentary). + - Edge cases: Syntax errors; dialect incompatibility; large output truncation. + +--- + +#### 1.5 Execution and Response Handling + +- **Overview:** Optionally executes the generated SQL script on a PostgreSQL database and handles success or failure responses to provide user feedback. +- **Nodes Involved:** If User Is Using Excel (condition node), Execute SQL in PostgreSQL, Success Response, Error Response + +**Node Details:** + +- **If User Is Using Excel** + - Type: If node + - Role: Checks if the database technology contains "postgres" (case insensitive) to determine if auto-execution is possible. + - True path: Execute SQL in PostgreSQL + - False path: Bypass execution and show form completion only. + +- **Execute SQL in PostgreSQL** + - Type: PostgreSQL node + - Role: Executes the SQL script generated by Agent 4 against configured PostgreSQL database. + - Configuration: Uses stored PostgreSQL credentials. + - On error: Continues workflow with error output. + - Output: Success or error JSON. + +- **Success Response** + - Type: Set node + - Role: Constructs a JSON response with status "success," message, SQL script, schema design, review feedback, score card, iteration count, and database tech for final output. + - Input: Execute SQL success output and agent outputs. + +- **Error Response** + - Type: Set node + - Role: Constructs a JSON response with status "failed," error message, SQL script, schema, feedback, score card, iteration count, and tech. Advises manual use of script if execution fails. + - Input: Execute SQL error output and agent outputs. + +--- + +#### 1.6 User Interaction and Completion + +- **Overview:** Presents the final workflow output to the user via a form completion node, either after successful execution or in failure cases without execution. +- **Nodes Involved:** Form, Form End Without Execute + +**Node Details:** + +- **Form** + - Type: Form node + - Role: Completion interface that shows final success or error JSON back to user with a title and message. + - Input: From Success Response or Error Response nodes. + +- **Form End Without Execute** + - Type: Form node + - Role: Completion interface used when SQL script is generated but not executed (non-PostgreSQL DBs). + - Input: From If User Is Using Excel false branch. + +--- + +### 3. Summary Table + +| Node Name | Node Type | Functional Role | Input Node(s) | Output Node(s) | Sticky Note | +|-------------------------|----------------------------------|-------------------------------------------------|----------------------------|-------------------------------|------------------------------------------------------------| +| Form Submission | Form Trigger | Collects user database requirements | | Initialize Variables | ## 📝 Form Intake - user fills database requirements | +| Initialize Variables | Set | Initializes iteration and feedback variables | Form Submission | Agent 1: Database Architect | ## 🔧 Setup Phase - prepares data for agent pipeline | +| Architect Model | Anthropic LM Chat | Base model config for Architect Agent | | Agent 1: Database Architect | ## 🤖 Agent 1: Architect - initial schema design | +| Agent 1: Database Architect | Langchain Agent | Designs initial database schema | Initialize Variables | Agent 2: Schema Reviewer | ## 🤖 Agent 1: Architect - initial schema design | +| Reviewer Model | Anthropic LM Chat | Base model config for Reviewer Agent | | Agent 2: Schema Reviewer | ## 🤖 Agent 2: Reviewer - quality control & validation | +| Agent 2: Schema Reviewer | Langchain Agent | Reviews schema for normalization & best practices | Agent 1: Database Architect | Agent 3: Optimizer & Scorer | ## 🤖 Agent 2: Reviewer - quality control & validation | +| Optimizer Model | Anthropic LM Chat | Base model config for Optimizer Agent | | Agent 3: Optimizer & Scorer | ## 🤖 Agent 3: Optimizer - final polish & scoring | +| Agent 3: Optimizer & Scorer | Langchain Agent | Refines schema, adds features, scores design | Agent 2: Schema Reviewer | Is Score A or B? | ## 🤖 Agent 3: Optimizer - final polish & scoring | +| Track Iteration | Set | Tracks iteration count and feedback for retry | Agent 3: Optimizer & Scorer | Can Retry? | ## 🔁 Retry Loop - iterative improvement system | +| Is Score A or B? | If | Checks if score grade is A or B | Agent 3: Optimizer & Scorer | Agent 4: Generate SQL Script / Track Iteration | ## 🔄 Quality Gate - ensures high-quality output | +| Can Retry? | If | Checks if iteration count ≤ 3 for retries | Track Iteration | Agent 1: Database Architect / Max Iterations Reached | ## 🔄 Quality Gate - ensures high-quality output | +| Max Iterations Reached | Set | Sets message when max retries reached | Can Retry? | Agent 4: Generate SQL Script | ## 🔄 Quality Gate - ensures high-quality output | +| SQL Generator Model | Anthropic LM Chat | Base model config for SQL script generation | | Agent 4: Generate SQL Script | ## 🤖 Agent 4: SQL Generator - converts schema to SQL | +| Agent 4: Generate SQL Script | Langchain Agent | Generates production-ready SQL migration script | Max Iterations Reached / Is Score A or B? | If User Is Using Excel | ## 🤖 Agent 4: SQL Generator - converts schema to SQL | +| If User Is Using Excel | If | Checks if DB tech is PostgreSQL to decide execution | Agent 4: Generate SQL Script | Execute SQL in PostgreSQL / Form End Without Execute | ## Query Execute - auto runs script on PostgreSQL | +| Execute SQL in PostgreSQL | PostgreSQL | Executes SQL script on PostgreSQL database | If User Is Using Excel | Success Response / Error Response | ## Query Execute - auto runs script on PostgreSQL | +| Success Response | Set | Constructs success response JSON | Execute SQL in PostgreSQL | Form | ## ✅ Execution Validation - handles success gracefully | +| Error Response | Set | Constructs failure response JSON | Execute SQL in PostgreSQL | Form | ## ✅ Execution Validation - handles failure gracefully | +| Form | Form | Shows final success or failure message to user | Success Response / Error Response | | ## ✅ Execution Validation - handles success & failures | +| Form End Without Execute | Form | Shows final message when script not executed | If User Is Using Excel (false) | | ## ✅ Execution Validation - handles success & failures | + +--- + +### 4. Reproducing the Workflow from Scratch + +1. **Create Form Submission Node** + - Type: Form Trigger + - Configure fields: + - What are you building? (textarea, required) + - Database Technology (dropdown: PostgreSQL, MySQL, MSSQL, MariaDB, required) + - Industry/Niche (text, required) + - What data do you need to track? (textarea) + - Team Size (number) + - Expected Scale (text) + - Key Workflows (textarea) + - Any integrations needed? (text) + - Special Requirements (textarea) + - Your Email (email, required) + - Set form title and description accordingly. + +2. **Add Set Node "Initialize Variables"** + - Assign: + - iteration_count = 0 (number) + - previous_feedback = "=" (string) + - form_data = entire JSON from Form Submission (object) + - Connect output of Form Submission to this node. + +3. **Add Anthropic LM Chat Node "Architect Model"** + - Model: Claude Sonnet 4.5 + - Temperature: 0.3, topP: 0.9 + - Connect to Agent 1 (see next step). + +4. **Add Langchain Agent Node "Agent 1: Database Architect"** + - Text input: Template including all form_data fields and previous_feedback/iteration_count. + - System message: Senior DB architect instructions for schema design output as structured JSON. + - Connect input to Initialize Variables output. + - Connect AI model to Architect Model node. + +5. **Add Anthropic LM Chat Node "Reviewer Model"** + - Model: Claude Sonnet 4.5 + - Temperature: 0.1, topP: 0.85 + - Connect to Agent 2 node. + +6. **Add Langchain Agent Node "Agent 2: Schema Reviewer"** + - Input: JSON stringified form_data and Agent 1 output schema. + - System message: Reviewer checklist, output structured feedback with severity levels. + - Connect input from Agent 1 output. + - Connect AI model to Reviewer Model node. + +7. **Add Anthropic LM Chat Node "Optimizer Model"** + - Model: Claude Sonnet 4.5 + - Temperature: 0.5, topP: 0.95 + - Connect to Agent 3 node. + +8. **Add Langchain Agent Node "Agent 3: Optimizer & Scorer"** + - Input: Original requirements, proposed schema, review feedback. + - System message: Instructions to polish, add advanced features, score, provide guidance. + - Connect input from Agent 2 output. + - Connect AI model to Optimizer Model node. + +9. **Add Set Node "Track Iteration"** + - Assign: + - iteration_count = previous iteration_count + 1 + - previous_feedback = Agent 3 output + - form_data = initial form_data + - Connect input from Agent 3 output. + +10. **Add If Node "Can Retry?"** + - Condition: iteration_count ≤ 3 + - True: loop back to Agent 1 (for redesign with updated feedback) + - False: proceed to Max Iterations Reached node. + +11. **Add Set Node "Max Iterations Reached"** + - Assign message indicating max attempts reached. + - Pass through iteration_count and form_data. + - Connect input from Can Retry? false output. + +12. **Add If Node "Is Score A or B?"** + - Regex check on Agent 3 output for grades A or B. + - True: proceed to SQL generation. + - False: proceed to Track Iteration (retry loop). + +13. **Add Anthropic LM Chat Node "SQL Generator Model"** + - Model: Claude Sonnet 4.5 + - Temperature: 0.2, topP: 0.85 + - Connect to Agent 4 node. + +14. **Add Langchain Agent Node "Agent 4: Generate SQL Script"** + - Input: Database technology, final schema, optimizations. + - System message: Detailed instructions for generating production-ready SQL migration script with transaction handling, comments, rollback, idempotency. + - Connect AI model to SQL Generator Model node. + +15. **Add If Node "If User Is Using Excel"** + - Condition: Check if database technology string contains "postgres" (case-insensitive). + - True: Execute SQL node. + - False: Skip execution and proceed to form completion. + +16. **Add PostgreSQL Node "Execute SQL in PostgreSQL"** + - Credentials: PostgreSQL account credentials. + - Query: SQL script output from Agent 4. + - Operation: executeQuery + - On error: Continue error output. + +17. **Add Set Node "Success Response"** + - On successful SQL execution, set JSON response with status "success", message, SQL script, schema design, review feedback, score card, iterations, and database tech. + - Connect from Execute SQL success output. + +18. **Add Set Node "Error Response"** + - On failure, set JSON response with status "failed", error message, SQL script, schema, review feedback, score card, iterations, and tech. + - Connect from Execute SQL error output. + +19. **Add Form Node "Form"** + - Operation: completion + - Completion title: "SQL Creation Finished" + - Completion message: bind to JSON of Success Response or Error Response nodes. + - Connect from Success Response and Error Response nodes. + +20. **Add Form Node "Form End Without Execute"** + - Operation: completion + - Completion title: "SQL Creation Finished" + - Completion message: bind to JSON from Agent 4 output (when SQL is not executed). + - Connect from If User Is Using Excel false output. + +21. **Add Sticky Notes** + - Add descriptive sticky notes at each major section for user guidance and customization tips. + +--- + +### 5. General Notes & Resources + +| Note Content | Context or Link | +|----------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------| +| Average workflow execution time is 60-90 seconds with ~85% success on first attempt. Cost per run estimated at $0.15-$0.30. | Workflow Overview Sticky Note | +| Suggested improvements include A/B testing agent prompts, caching patterns, pre-built industry templates, and parallel execution. | Workflow Overview Sticky Note | +| Retry loop currently maxes at 3 iterations; increasing retries or adding manual review can improve quality but increase cost. | Retry Loop Sticky Note | +| Agent prompts are carefully tuned with temperature and topP to balance creativity, strictness, and polish across the design pipeline.| Agent Sticky Notes 1-4 | +| SQL generated includes transaction handling, idempotency, and rollback script for safe deployment. | Agent 4 Sticky Note | +| Execution node supports automatic running of scripts only for PostgreSQL; other DBs require manual execution of generated SQL. | Query Execute Sticky Note | +| Error handling ensures user receives usable output even if execution fails, including the generated SQL script for manual use. | Execution Validation Sticky Note | + +--- + +**Disclaimer:** The content above is derived exclusively from an automated n8n workflow utilizing AI language models. All data processed is lawful and publicly provided. No illegal or protected content is included. \ No newline at end of file