@cfxlabsinc/b2b-services
    Preparing search index...

    Variable emailTemplateVersionTableConst

    emailTemplateVersionTable: Omit<
        PgTableWithColumns<
            {
                columns: {
                    body: PgBuildColumn<
                        "email_template_version",
                        SetNotNull<PgTextBuilder<[string, ...string[]]>>,
                        {
                            data: string;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "email_template_version";
                        },
                    >;
                    createdAt: PgBuildColumn<
                        "email_template_version",
                        SetHasDefault<
                            SetNotNull<
                                PgCustomColumnBuilder<
                                    { data: Instant; dataType: "custom"; driverParam: string },
                                >,
                            >,
                        >,
                        {
                            data: Instant;
                            dataType: "custom";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "email_template_version";
                        },
                    >;
                    data: PgBuildColumn<
                        "email_template_version",
                        Set$Type<SetNotNull<PgJsonbBuilder>, EmailTemplateVersionData>,
                        {
                            data: EmailTemplateVersionData;
                            dataType: "object json";
                            driverParam: unknown;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "email_template_version";
                        },
                    >;
                    id: PgBuildColumn<
                        "email_template_version",
                        HasIdentity<SetIsPrimaryKey<PgIntegerBuilder>, "byDefault">,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: "byDefault";
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "email_template_version";
                        },
                    >;
                    subject: PgBuildColumn<
                        "email_template_version",
                        SetNotNull<PgTextBuilder<[string, ...string[]]>>,
                        {
                            data: string;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "email_template_version";
                        },
                    >;
                    templateId: PgBuildColumn<
                        "email_template_version",
                        SetNotNull<PgIntegerBuilder>,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "email_template_version";
                        },
                    >;
                    version: PgBuildColumn<
                        "email_template_version",
                        SetNotNull<PgIntegerBuilder>,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "email_template_version";
                        },
                    >;
                };
                dialect: "pg";
                name: "email_template_version";
                schema: "b2b";
            },
        >,
        "enableRLS",
    > = ...

    Append-only authoring history for emailTemplateTable. Every save inserts a row; nothing is ever mutated or deleted, so the table is the complete history. UPDATE and DELETE are rejected unconditionally by the shared b2b.prevent_version_modifications() trigger — no never-been-live exemption is needed, because saves never mutate.

    Live and draft version numbers are not adjacent: a variant can sit at live v3 · draft v7 when v4–v6 were saves that were never activated. Rollback repoints liveVersionId at an earlier row; it does not renumber and does not remove the versions in between, so a version number identifies one piece of copy for the life of the table.

    No externalId — only the identity row is externally addressable.