AutoBE
    Preparing search index...

    Interface AutoBeDatabaseComponent

    Interface representing a logical grouping of database tables organized by business domain for schema file generation.

    Components provide a systematic way to organize database tables into coherent groups following domain-driven design principles. Each component represents a specific business domain or functional area that will be generated as a separate Prisma schema file, ensuring maintainable and logically structured database architecture.

    This interface is primarily used during the database design phase when the Database agent analyzes requirements and determines the complete scope of tables needed, then organizes them into logical groups based on business relationships and functional dependencies.

    Components serve as the blueprint for generating multiple Prisma schema files:

    1. Requirements Analysis: AI agent identifies all required tables from business requirements
    2. Domain Grouping: Tables are organized into components based on business domains and functional relationships
    3. File Generation: Each component becomes a separate .prisma file containing related models
    4. Dependency Management: Components are ordered to handle cross-domain relationships properly

    Based on typical business applications, components commonly include:

    • Systematic: Core system tables (channels, sections, configurations)
    • Actors: User management (customers, citizens, administrators)
    • Sales: Product catalog and sales entities
    • Carts: Shopping cart and item management
    • Orders: Order processing and fulfillment
    • Coupons: Discount and promotion systems
    • Coins: Digital currency and mileage systems
    • Inquiries: Customer support and FAQ systems
    • Favorites: User preference and wishlist management
    • Articles: Content management and BBS systems

    Each AutoBeDatabaseComponent serves as a blueprint for generating one IFile during the schema generation process. The component's metadata (filename, namespace, tables) is used to structure the actual Prisma schema file with proper models, relationships, and indexes.

    Samchon

    • AutoBeDatabase.IFile For the actual schema file structure generated from components
    • AutoBeDatabaseComponentEvent For the event that delivers component organization results
    interface AutoBeDatabaseComponent {
        filename: string & Pattern<"^[a-zA-Z0-9._-]+\\.prisma$">;
        kind: "authorization" | "domain";
        namespace: string;
        rationale: string;
        review: string;
        tables: AutoBeDatabaseComponentTableDesign[] & MinItems<1>;
        thinking: string;
    }

    Hierarchy (View Summary)

    Index

    Properties

    filename: string & Pattern<"^[a-zA-Z0-9._-]+\\.prisma$">

    Prisma schema filename. Convention: schema-{number}-{domain}.prisma where number indicates dependency order.

    kind: "authorization" | "domain"

    Component group kind.

    • "authorization": Auth tables (users, sessions, password resets). Processed by Authorization Agent.
    • "domain": Business tables (products, orders). Processed by Component Agent.
    namespace: string

    Business domain namespace for Prisma directive.

    Examples: "Systematic", "Actors", "Sales", "Orders", "Articles".

    rationale: string

    Final rationale cementing the component's structure.

    review: string

    Review considerations: relationships with other domains, grouping validation.

    tables: AutoBeDatabaseComponentTableDesign[] & MinItems<1>

    Array of table designs that will be included in this component's schema file.

    Contains all database tables that belong to this business domain, each with a name and description explaining its purpose. This ensures logical grouping, proper organization, and clear documentation of related data structures.

    thinking: string

    Initial thoughts on why these tables belong together.