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

    Variable programCustomerTableConst

    programCustomerTable: Omit<
        PgTableWithColumns<
            {
                columns: {
                    createdAt: PgBuildColumn<
                        "program_customer",
                        SetHasDefault<SetNotNull<PgTimestampBuilder>>,
                        {
                            data: Date;
                            dataType: "object date";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "program_customer";
                        },
                    >;
                    customerExternalId: PgBuildColumn<
                        "program_customer",
                        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: "program_customer";
                        },
                    >;
                    customerId: PgBuildColumn<
                        "program_customer",
                        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: "program_customer";
                        },
                    >;
                    grantedBy: PgBuildColumn<
                        "program_customer",
                        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: "program_customer";
                        },
                    >;
                    programExternalId: PgBuildColumn<
                        "program_customer",
                        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: "program_customer";
                        },
                    >;
                    programId: PgBuildColumn<
                        "program_customer",
                        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: "program_customer";
                        },
                    >;
                };
                dialect: "pg";
                isAlias: false;
                name: "program_customer";
                schema: "b2b";
            },
        >,
        "enableRLS",
    > = ...

    A customer's grant on a program: enrollment. The key allows one row per program and customer; a customer may hold several programs, of one vendor or several. See docs/proposals/PROGRAM_ROUTING.md § 3.3 and § 4.3.

    dbmate owns the DDL: 20260930200100_program_customer.sql.