Documentation
    Preparing search index...

    Interface SQLiteTableFn<TSchema>

    Type Parameters

    • TSchema extends string | undefined = undefined
    • Type Parameters

      • TTableName extends string
      • TColumnsMap extends Record<
            string,
            SQLiteColumnBuilderBase<
                ColumnBuilderBaseConfig<ColumnDataType, string>,
                object,
            >,
        >

      Parameters

      • name: TTableName
      • columns: TColumnsMap
      • OptionalextraConfig: (
            self: {
                [Key in string | number | symbol]: SQLiteColumn<
                    {
                        baseColumn: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { baseBuilder: U }
                            ? Column<
                                {
                                    baseColumn: U["_"] extends { baseBuilder: U }
                                        ? (
                                            Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
                                        )
                                        : never;
                                    columnType: U["_"]["columnType"];
                                    data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
                                    dataType: U["_"]["dataType"];
                                    driverParam: U["_"]["driverParam"];
                                    enumValues: U["_"]["enumValues"];
                                    generated: U["_"] extends { generated: G }
                                        ? unknown extends G
                                            ? undefined
                                            : (...) extends (...) ? (...) : (...)
                                        : undefined;
                                    hasDefault: U["_"] extends { hasDefault: true } ? true : false;
                                    hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
                                        ? true
                                        : false;
                                    identity: U["_"] extends { identity: "always" }
                                        ? "always"
                                        : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
                                    isAutoincrement: U["_"] extends { isAutoincrement: true }
                                        ? true
                                        : false;
                                    isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
                                    name: U["_"]["name"];
                                    notNull: U["_"] extends { notNull: true } ? true : false;
                                    tableName: TTableName;
                                },
                                {},
                                {
                                    [K in string
                                    | number
                                    | symbol]: Omit<
                                        (...)[(...)],

                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...),
                                    >[K]
                                },
                            >
                            : never;
                        columnType: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["columnType"];
                        data: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { $type: U }
                            ? U
                            : (
                                Omit<(...)[(...)]["_"], "name"> & {
                                    name: (...)[(...)] extends ""
                                        ? Assume<(...), (...)>
                                        : (...)[(...)];
                                }
                            )["data"];
                        dataType: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["dataType"];
                        driverParam: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["driverParam"];
                        enumValues: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["enumValues"];
                        generated: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { generated: G }
                            ? unknown extends G
                                ? undefined
                                : G extends undefined ? undefined : G
                            : undefined;
                        hasDefault: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { hasDefault: true }
                            ? true
                            : false;
                        hasRuntimeDefault: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { hasRuntimeDefault: true }
                            ? true
                            : false;
                        identity: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { identity: "always" }
                            ? "always"
                            : (
                                Omit<(...)[(...)]["_"], "name"> & {
                                    name: (...)[(...)] extends ""
                                        ? Assume<(...), (...)>
                                        : (...)[(...)];
                                }
                            ) extends { identity: "byDefault" }
                                ? "byDefault"
                                : undefined;
                        isAutoincrement: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { isAutoincrement: true }
                            ? true
                            : false;
                        isPrimaryKey: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { isPrimaryKey: true }
                            ? true
                            : false;
                        name: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["name"];
                        notNull: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { notNull: true }
                            ? true
                            : false;
                        tableName: TTableName;
                    },
                    {},
                    {
                        [K in string
                        | number
                        | symbol]: Omit<
                            Omit<(...)[(...)]["_"], "name"> & {
                                name: (...)[(...)] extends "" ? Assume<(...), (...)> : (...)[(...)];
                            },
                            | "dialect"
                            | "name"
                            | "data"
                            | "driverParam"
                            | "tableName"
                            | "notNull"
                            | "hasDefault"
                            | "isPrimaryKey"
                            | "isAutoincrement"
                            | "hasRuntimeDefault"
                            | "dataType"
                            | "columnType"
                            | "enumValues"
                            | "identity"
                            | "brand"
                            | "baseColumn"
                            | "generated",
                        >[K]
                    },
                >
            },
        ) => SQLiteTableExtraConfigValue[]

      Returns SQLiteTableWithColumns<
          {
              columns: {
                  [Key in string
                  | number
                  | symbol]: SQLiteColumn<
                      {
                          baseColumn: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { baseBuilder: U }
                              ? Column<
                                  {
                                      baseColumn: U["_"] extends { baseBuilder: U }
                                          ? (
                                              Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
                                          )
                                          : never;
                                      columnType: U["_"]["columnType"];
                                      data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
                                      dataType: U["_"]["dataType"];
                                      driverParam: U["_"]["driverParam"];
                                      enumValues: U["_"]["enumValues"];
                                      generated: U["_"] extends { generated: G }
                                          ? unknown extends G
                                              ? undefined
                                              : (...) extends (...) ? (...) : (...)
                                          : undefined;
                                      hasDefault: U["_"] extends { hasDefault: true } ? true : false;
                                      hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
                                          ? true
                                          : false;
                                      identity: U["_"] extends { identity: "always" }
                                          ? "always"
                                          : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
                                      isAutoincrement: U["_"] extends { isAutoincrement: true }
                                          ? true
                                          : false;
                                      isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
                                      name: U["_"]["name"];
                                      notNull: U["_"] extends { notNull: true } ? true : false;
                                      tableName: TTableName;
                                  },
                                  {},
                                  {
                                      [K in string
                                      | number
                                      | symbol]: Omit<
                                          (...)[(...)],

                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...),
                                      >[K]
                                  },
                              >
                              : never;
                          columnType: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["columnType"];
                          data: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { $type: U }
                              ? U
                              : (
                                  Omit<(...)[(...)]["_"], "name"> & {
                                      name: (...)[(...)] extends ""
                                          ? Assume<(...), (...)>
                                          : (...)[(...)];
                                  }
                              )["data"];
                          dataType: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["dataType"];
                          driverParam: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["driverParam"];
                          enumValues: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["enumValues"];
                          generated: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { generated: G }
                              ? unknown extends G
                                  ? undefined
                                  : G extends undefined ? undefined : G
                              : undefined;
                          hasDefault: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { hasDefault: true }
                              ? true
                              : false;
                          hasRuntimeDefault: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { hasRuntimeDefault: true }
                              ? true
                              : false;
                          identity: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { identity: "always" }
                              ? "always"
                              : (
                                  Omit<(...)[(...)]["_"], "name"> & {
                                      name: (...)[(...)] extends ""
                                          ? Assume<(...), (...)>
                                          : (...)[(...)];
                                  }
                              ) extends { identity: "byDefault" }
                                  ? "byDefault"
                                  : undefined;
                          isAutoincrement: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { isAutoincrement: true }
                              ? true
                              : false;
                          isPrimaryKey: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { isPrimaryKey: true }
                              ? true
                              : false;
                          name: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["name"];
                          notNull: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { notNull: true }
                              ? true
                              : false;
                          tableName: TTableName;
                      },
                      {},
                      {
                          [K in string
                          | number
                          | symbol]: Omit<
                              Omit<(...)[(...)]["_"], "name"> & {
                                  name: (...)[(...)] extends ""
                                      ? Assume<(...), (...)>
                                      : (...)[(...)];
                              },
                              | "dialect"
                              | "name"
                              | "data"
                              | "driverParam"
                              | "tableName"
                              | "notNull"
                              | "hasDefault"
                              | "isPrimaryKey"
                              | "isAutoincrement"
                              | "hasRuntimeDefault"
                              | "dataType"
                              | "columnType"
                              | "enumValues"
                              | "identity"
                              | "brand"
                              | "baseColumn"
                              | "generated",
                          >[K]
                      },
                  >
              };
              dialect: "sqlite";
              name: TTableName;
              schema: TSchema;
          },
      >

    • Type Parameters

      • TTableName extends string
      • TColumnsMap extends Record<
            string,
            SQLiteColumnBuilderBase<
                ColumnBuilderBaseConfig<ColumnDataType, string>,
                object,
            >,
        >

      Parameters

      • name: TTableName
      • columns: (
            columnTypes: {
                blob: {
                    (): SQLiteBlobJsonBuilderInitial<"">;
                    <TMode extends BlobMode = BlobMode>(
                        config?: BlobConfig<TMode>,
                    ): Equal<TMode, "bigint"> extends true
                        ? SQLiteBigIntBuilderInitial<"">
                        : Equal<TMode, "buffer"> extends true
                            ? SQLiteBlobBufferBuilderInitial<"">
                            : SQLiteBlobJsonBuilderInitial<"">;
                    <TName extends string, TMode extends BlobMode = BlobMode>(
                        name: TName,
                        config?: BlobConfig<TMode>,
                    ): Equal<TMode, "bigint"> extends true
                        ? SQLiteBigIntBuilderInitial<TName>
                        : Equal<TMode, "buffer"> extends true
                            ? SQLiteBlobBufferBuilderInitial<TName>
                            : SQLiteBlobJsonBuilderInitial<TName>;
                };
                customType: <T extends CustomTypeValues = CustomTypeValues>(
                    customTypeParams: CustomTypeParams<T>,
                ) => Equal<T["configRequired"], true> extends true
                    ? {
                        <TConfig extends Record<string, any>>(
                            fieldConfig: TConfig,
                        ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
                        <TName extends string>(
                            dbName: TName,
                            fieldConfig: T["config"],
                        ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
                    }
                    : {
                        (): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
                        <TConfig extends Record<string, any>>(
                            fieldConfig?: TConfig,
                        ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
                        <TName extends string>(
                            dbName: TName,
                            fieldConfig?: T["config"],
                        ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
                    };
                integer: {
                    (): SQLiteIntegerBuilderInitial<"">;
                    <TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms">(
                        config?: IntegerConfig<TMode>,
                    ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
                        ? SQLiteTimestampBuilderInitial<"">
                        : Equal<TMode, "boolean"> extends true
                            ? SQLiteBooleanBuilderInitial<"">
                            : SQLiteIntegerBuilderInitial<"">;
                    <
                        TName extends string,
                        TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms",
                    >(
                        name: TName,
                        config?: IntegerConfig<TMode>,
                    ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
                        ? SQLiteTimestampBuilderInitial<TName>
                        : Equal<TMode, "boolean"> extends true
                            ? SQLiteBooleanBuilderInitial<TName>
                            : SQLiteIntegerBuilderInitial<TName>;
                };
                numeric: {
                    <TMode extends "string" | "number" | "bigint">(
                        config?: SQLiteNumericConfig<TMode>,
                    ): Equal<TMode, "number"> extends true
                        ? SQLiteNumericNumberBuilderInitial<"">
                        : Equal<TMode, "bigint"> extends true
                            ? SQLiteNumericBigIntBuilderInitial<"">
                            : SQLiteNumericBuilderInitial<"">;
                    <TName extends string, TMode extends "string" | "number" | "bigint">(
                        name: TName,
                        config?: SQLiteNumericConfig<TMode>,
                    ): Equal<TMode, "number"> extends true
                        ? SQLiteNumericNumberBuilderInitial<TName>
                        : Equal<TMode, "bigint"> extends true
                            ? SQLiteNumericBigIntBuilderInitial<TName>
                            : SQLiteNumericBuilderInitial<TName>;
                };
                real: {
                    (): SQLiteRealBuilderInitial<"">;
                    <TName extends string>(name: TName): SQLiteRealBuilderInitial<TName>;
                };
                text: {
                    (): SQLiteTextBuilderInitial<"", [string, ...string[]], undefined>;
                    <
                        U extends string,
                        T extends readonly [U, U],
                        L extends number | undefined,
                        TMode extends "json" | "text" = "json" | "text",
                    >(
                        config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
                    ): Equal<TMode, "json"> extends true
                        ? SQLiteTextJsonBuilderInitial<"">
                        : SQLiteTextBuilderInitial<"", Writable<T>, L>;
                    <
                        TName extends string,
                        U extends string,
                        T extends readonly [U, U],
                        L extends number | undefined,
                        TMode extends "json" | "text" = "json" | "text",
                    >(
                        name: TName,
                        config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
                    ): Equal<TMode, "json"> extends true
                        ? SQLiteTextJsonBuilderInitial<TName>
                        : SQLiteTextBuilderInitial<TName, Writable<T>, L>;
                };
            },
        ) => TColumnsMap
      • OptionalextraConfig: (
            self: {
                [Key in string | number | symbol]: SQLiteColumn<
                    {
                        baseColumn: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { baseBuilder: U }
                            ? Column<
                                {
                                    baseColumn: U["_"] extends { baseBuilder: U }
                                        ? (
                                            Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
                                        )
                                        : never;
                                    columnType: U["_"]["columnType"];
                                    data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
                                    dataType: U["_"]["dataType"];
                                    driverParam: U["_"]["driverParam"];
                                    enumValues: U["_"]["enumValues"];
                                    generated: U["_"] extends { generated: G }
                                        ? unknown extends G
                                            ? undefined
                                            : (...) extends (...) ? (...) : (...)
                                        : undefined;
                                    hasDefault: U["_"] extends { hasDefault: true } ? true : false;
                                    hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
                                        ? true
                                        : false;
                                    identity: U["_"] extends { identity: "always" }
                                        ? "always"
                                        : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
                                    isAutoincrement: U["_"] extends { isAutoincrement: true }
                                        ? true
                                        : false;
                                    isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
                                    name: U["_"]["name"];
                                    notNull: U["_"] extends { notNull: true } ? true : false;
                                    tableName: TTableName;
                                },
                                {},
                                {
                                    [K in string
                                    | number
                                    | symbol]: Omit<
                                        (...)[(...)],

                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...),
                                    >[K]
                                },
                            >
                            : never;
                        columnType: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["columnType"];
                        data: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { $type: U }
                            ? U
                            : (
                                Omit<(...)[(...)]["_"], "name"> & {
                                    name: (...)[(...)] extends ""
                                        ? Assume<(...), (...)>
                                        : (...)[(...)];
                                }
                            )["data"];
                        dataType: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["dataType"];
                        driverParam: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["driverParam"];
                        enumValues: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["enumValues"];
                        generated: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { generated: G }
                            ? unknown extends G
                                ? undefined
                                : G extends undefined ? undefined : G
                            : undefined;
                        hasDefault: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { hasDefault: true }
                            ? true
                            : false;
                        hasRuntimeDefault: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { hasRuntimeDefault: true }
                            ? true
                            : false;
                        identity: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { identity: "always" }
                            ? "always"
                            : (
                                Omit<(...)[(...)]["_"], "name"> & {
                                    name: (...)[(...)] extends ""
                                        ? Assume<(...), (...)>
                                        : (...)[(...)];
                                }
                            ) extends { identity: "byDefault" }
                                ? "byDefault"
                                : undefined;
                        isAutoincrement: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { isAutoincrement: true }
                            ? true
                            : false;
                        isPrimaryKey: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { isPrimaryKey: true }
                            ? true
                            : false;
                        name: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["name"];
                        notNull: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { notNull: true }
                            ? true
                            : false;
                        tableName: TTableName;
                    },
                    {},
                    {
                        [K in string
                        | number
                        | symbol]: Omit<
                            Omit<(...)[(...)]["_"], "name"> & {
                                name: (...)[(...)] extends "" ? Assume<(...), (...)> : (...)[(...)];
                            },
                            | "dialect"
                            | "name"
                            | "data"
                            | "driverParam"
                            | "tableName"
                            | "notNull"
                            | "hasDefault"
                            | "isPrimaryKey"
                            | "isAutoincrement"
                            | "hasRuntimeDefault"
                            | "dataType"
                            | "columnType"
                            | "enumValues"
                            | "identity"
                            | "brand"
                            | "baseColumn"
                            | "generated",
                        >[K]
                    },
                >
            },
        ) => SQLiteTableExtraConfigValue[]

      Returns SQLiteTableWithColumns<
          {
              columns: {
                  [Key in string
                  | number
                  | symbol]: SQLiteColumn<
                      {
                          baseColumn: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { baseBuilder: U }
                              ? Column<
                                  {
                                      baseColumn: U["_"] extends { baseBuilder: U }
                                          ? (
                                              Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
                                          )
                                          : never;
                                      columnType: U["_"]["columnType"];
                                      data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
                                      dataType: U["_"]["dataType"];
                                      driverParam: U["_"]["driverParam"];
                                      enumValues: U["_"]["enumValues"];
                                      generated: U["_"] extends { generated: G }
                                          ? unknown extends G
                                              ? undefined
                                              : (...) extends (...) ? (...) : (...)
                                          : undefined;
                                      hasDefault: U["_"] extends { hasDefault: true } ? true : false;
                                      hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
                                          ? true
                                          : false;
                                      identity: U["_"] extends { identity: "always" }
                                          ? "always"
                                          : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
                                      isAutoincrement: U["_"] extends { isAutoincrement: true }
                                          ? true
                                          : false;
                                      isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
                                      name: U["_"]["name"];
                                      notNull: U["_"] extends { notNull: true } ? true : false;
                                      tableName: TTableName;
                                  },
                                  {},
                                  {
                                      [K in string
                                      | number
                                      | symbol]: Omit<
                                          (...)[(...)],

                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...),
                                      >[K]
                                  },
                              >
                              : never;
                          columnType: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["columnType"];
                          data: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { $type: U }
                              ? U
                              : (
                                  Omit<(...)[(...)]["_"], "name"> & {
                                      name: (...)[(...)] extends ""
                                          ? Assume<(...), (...)>
                                          : (...)[(...)];
                                  }
                              )["data"];
                          dataType: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["dataType"];
                          driverParam: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["driverParam"];
                          enumValues: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["enumValues"];
                          generated: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { generated: G }
                              ? unknown extends G
                                  ? undefined
                                  : G extends undefined ? undefined : G
                              : undefined;
                          hasDefault: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { hasDefault: true }
                              ? true
                              : false;
                          hasRuntimeDefault: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { hasRuntimeDefault: true }
                              ? true
                              : false;
                          identity: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { identity: "always" }
                              ? "always"
                              : (
                                  Omit<(...)[(...)]["_"], "name"> & {
                                      name: (...)[(...)] extends ""
                                          ? Assume<(...), (...)>
                                          : (...)[(...)];
                                  }
                              ) extends { identity: "byDefault" }
                                  ? "byDefault"
                                  : undefined;
                          isAutoincrement: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { isAutoincrement: true }
                              ? true
                              : false;
                          isPrimaryKey: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { isPrimaryKey: true }
                              ? true
                              : false;
                          name: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["name"];
                          notNull: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { notNull: true }
                              ? true
                              : false;
                          tableName: TTableName;
                      },
                      {},
                      {
                          [K in string
                          | number
                          | symbol]: Omit<
                              Omit<(...)[(...)]["_"], "name"> & {
                                  name: (...)[(...)] extends ""
                                      ? Assume<(...), (...)>
                                      : (...)[(...)];
                              },
                              | "dialect"
                              | "name"
                              | "data"
                              | "driverParam"
                              | "tableName"
                              | "notNull"
                              | "hasDefault"
                              | "isPrimaryKey"
                              | "isAutoincrement"
                              | "hasRuntimeDefault"
                              | "dataType"
                              | "columnType"
                              | "enumValues"
                              | "identity"
                              | "brand"
                              | "baseColumn"
                              | "generated",
                          >[K]
                      },
                  >
              };
              dialect: "sqlite";
              name: TTableName;
              schema: TSchema;
          },
      >

    • Type Parameters

      • TTableName extends string
      • TColumnsMap extends Record<
            string,
            SQLiteColumnBuilderBase<
                ColumnBuilderBaseConfig<ColumnDataType, string>,
                object,
            >,
        >

      Parameters

      • name: TTableName
      • columns: TColumnsMap
      • OptionalextraConfig: (
            self: {
                [Key in string | number | symbol]: SQLiteColumn<
                    {
                        baseColumn: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { baseBuilder: U }
                            ? Column<
                                {
                                    baseColumn: U["_"] extends { baseBuilder: U }
                                        ? (
                                            Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
                                        )
                                        : never;
                                    columnType: U["_"]["columnType"];
                                    data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
                                    dataType: U["_"]["dataType"];
                                    driverParam: U["_"]["driverParam"];
                                    enumValues: U["_"]["enumValues"];
                                    generated: U["_"] extends { generated: G }
                                        ? unknown extends G
                                            ? undefined
                                            : (...) extends (...) ? (...) : (...)
                                        : undefined;
                                    hasDefault: U["_"] extends { hasDefault: true } ? true : false;
                                    hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
                                        ? true
                                        : false;
                                    identity: U["_"] extends { identity: "always" }
                                        ? "always"
                                        : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
                                    isAutoincrement: U["_"] extends { isAutoincrement: true }
                                        ? true
                                        : false;
                                    isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
                                    name: U["_"]["name"];
                                    notNull: U["_"] extends { notNull: true } ? true : false;
                                    tableName: TTableName;
                                },
                                {},
                                {
                                    [K in string
                                    | number
                                    | symbol]: Omit<
                                        (...)[(...)],

                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...),
                                    >[K]
                                },
                            >
                            : never;
                        columnType: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["columnType"];
                        data: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { $type: U }
                            ? U
                            : (
                                Omit<(...)[(...)]["_"], "name"> & {
                                    name: (...)[(...)] extends ""
                                        ? Assume<(...), (...)>
                                        : (...)[(...)];
                                }
                            )["data"];
                        dataType: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["dataType"];
                        driverParam: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["driverParam"];
                        enumValues: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["enumValues"];
                        generated: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { generated: G }
                            ? unknown extends G
                                ? undefined
                                : G extends undefined ? undefined : G
                            : undefined;
                        hasDefault: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { hasDefault: true }
                            ? true
                            : false;
                        hasRuntimeDefault: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { hasRuntimeDefault: true }
                            ? true
                            : false;
                        identity: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { identity: "always" }
                            ? "always"
                            : (
                                Omit<(...)[(...)]["_"], "name"> & {
                                    name: (...)[(...)] extends ""
                                        ? Assume<(...), (...)>
                                        : (...)[(...)];
                                }
                            ) extends { identity: "byDefault" }
                                ? "byDefault"
                                : undefined;
                        isAutoincrement: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { isAutoincrement: true }
                            ? true
                            : false;
                        isPrimaryKey: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { isPrimaryKey: true }
                            ? true
                            : false;
                        name: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["name"];
                        notNull: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { notNull: true }
                            ? true
                            : false;
                        tableName: TTableName;
                    },
                    {},
                    {
                        [K in string
                        | number
                        | symbol]: Omit<
                            Omit<(...)[(...)]["_"], "name"> & {
                                name: (...)[(...)] extends "" ? Assume<(...), (...)> : (...)[(...)];
                            },
                            | "dialect"
                            | "name"
                            | "data"
                            | "driverParam"
                            | "tableName"
                            | "notNull"
                            | "hasDefault"
                            | "isPrimaryKey"
                            | "isAutoincrement"
                            | "hasRuntimeDefault"
                            | "dataType"
                            | "columnType"
                            | "enumValues"
                            | "identity"
                            | "brand"
                            | "baseColumn"
                            | "generated",
                        >[K]
                    },
                >
            },
        ) => SQLiteTableExtraConfig

      Returns SQLiteTableWithColumns<
          {
              columns: {
                  [Key in string
                  | number
                  | symbol]: SQLiteColumn<
                      {
                          baseColumn: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { baseBuilder: U }
                              ? Column<
                                  {
                                      baseColumn: U["_"] extends { baseBuilder: U }
                                          ? (
                                              Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
                                          )
                                          : never;
                                      columnType: U["_"]["columnType"];
                                      data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
                                      dataType: U["_"]["dataType"];
                                      driverParam: U["_"]["driverParam"];
                                      enumValues: U["_"]["enumValues"];
                                      generated: U["_"] extends { generated: G }
                                          ? unknown extends G
                                              ? undefined
                                              : (...) extends (...) ? (...) : (...)
                                          : undefined;
                                      hasDefault: U["_"] extends { hasDefault: true } ? true : false;
                                      hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
                                          ? true
                                          : false;
                                      identity: U["_"] extends { identity: "always" }
                                          ? "always"
                                          : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
                                      isAutoincrement: U["_"] extends { isAutoincrement: true }
                                          ? true
                                          : false;
                                      isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
                                      name: U["_"]["name"];
                                      notNull: U["_"] extends { notNull: true } ? true : false;
                                      tableName: TTableName;
                                  },
                                  {},
                                  {
                                      [K in string
                                      | number
                                      | symbol]: Omit<
                                          (...)[(...)],

                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...),
                                      >[K]
                                  },
                              >
                              : never;
                          columnType: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["columnType"];
                          data: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { $type: U }
                              ? U
                              : (
                                  Omit<(...)[(...)]["_"], "name"> & {
                                      name: (...)[(...)] extends ""
                                          ? Assume<(...), (...)>
                                          : (...)[(...)];
                                  }
                              )["data"];
                          dataType: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["dataType"];
                          driverParam: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["driverParam"];
                          enumValues: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["enumValues"];
                          generated: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { generated: G }
                              ? unknown extends G
                                  ? undefined
                                  : G extends undefined ? undefined : G
                              : undefined;
                          hasDefault: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { hasDefault: true }
                              ? true
                              : false;
                          hasRuntimeDefault: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { hasRuntimeDefault: true }
                              ? true
                              : false;
                          identity: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { identity: "always" }
                              ? "always"
                              : (
                                  Omit<(...)[(...)]["_"], "name"> & {
                                      name: (...)[(...)] extends ""
                                          ? Assume<(...), (...)>
                                          : (...)[(...)];
                                  }
                              ) extends { identity: "byDefault" }
                                  ? "byDefault"
                                  : undefined;
                          isAutoincrement: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { isAutoincrement: true }
                              ? true
                              : false;
                          isPrimaryKey: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { isPrimaryKey: true }
                              ? true
                              : false;
                          name: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["name"];
                          notNull: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { notNull: true }
                              ? true
                              : false;
                          tableName: TTableName;
                      },
                      {},
                      {
                          [K in string
                          | number
                          | symbol]: Omit<
                              Omit<(...)[(...)]["_"], "name"> & {
                                  name: (...)[(...)] extends ""
                                      ? Assume<(...), (...)>
                                      : (...)[(...)];
                              },
                              | "dialect"
                              | "name"
                              | "data"
                              | "driverParam"
                              | "tableName"
                              | "notNull"
                              | "hasDefault"
                              | "isPrimaryKey"
                              | "isAutoincrement"
                              | "hasRuntimeDefault"
                              | "dataType"
                              | "columnType"
                              | "enumValues"
                              | "identity"
                              | "brand"
                              | "baseColumn"
                              | "generated",
                          >[K]
                      },
                  >
              };
              dialect: "sqlite";
              name: TTableName;
              schema: TSchema;
          },
      >

      The third parameter of sqliteTable is changing and will only accept an array instead of an object

      Deprecated version:

      export const users = sqliteTable("users", {
      id: int(),
      }, (t) => ({
      idx: index('custom_name').on(t.id)
      }));

      New API:

      export const users = sqliteTable("users", {
      id: int(),
      }, (t) => [
      index('custom_name').on(t.id)
      ]);
    • Type Parameters

      • TTableName extends string
      • TColumnsMap extends Record<
            string,
            SQLiteColumnBuilderBase<
                ColumnBuilderBaseConfig<ColumnDataType, string>,
                object,
            >,
        >

      Parameters

      • name: TTableName
      • columns: (
            columnTypes: {
                blob: {
                    (): SQLiteBlobJsonBuilderInitial<"">;
                    <TMode extends BlobMode = BlobMode>(
                        config?: BlobConfig<TMode>,
                    ): Equal<TMode, "bigint"> extends true
                        ? SQLiteBigIntBuilderInitial<"">
                        : Equal<TMode, "buffer"> extends true
                            ? SQLiteBlobBufferBuilderInitial<"">
                            : SQLiteBlobJsonBuilderInitial<"">;
                    <TName extends string, TMode extends BlobMode = BlobMode>(
                        name: TName,
                        config?: BlobConfig<TMode>,
                    ): Equal<TMode, "bigint"> extends true
                        ? SQLiteBigIntBuilderInitial<TName>
                        : Equal<TMode, "buffer"> extends true
                            ? SQLiteBlobBufferBuilderInitial<TName>
                            : SQLiteBlobJsonBuilderInitial<TName>;
                };
                customType: <T extends CustomTypeValues = CustomTypeValues>(
                    customTypeParams: CustomTypeParams<T>,
                ) => Equal<T["configRequired"], true> extends true
                    ? {
                        <TConfig extends Record<string, any>>(
                            fieldConfig: TConfig,
                        ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
                        <TName extends string>(
                            dbName: TName,
                            fieldConfig: T["config"],
                        ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
                    }
                    : {
                        (): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
                        <TConfig extends Record<string, any>>(
                            fieldConfig?: TConfig,
                        ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
                        <TName extends string>(
                            dbName: TName,
                            fieldConfig?: T["config"],
                        ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
                    };
                integer: {
                    (): SQLiteIntegerBuilderInitial<"">;
                    <TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms">(
                        config?: IntegerConfig<TMode>,
                    ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
                        ? SQLiteTimestampBuilderInitial<"">
                        : Equal<TMode, "boolean"> extends true
                            ? SQLiteBooleanBuilderInitial<"">
                            : SQLiteIntegerBuilderInitial<"">;
                    <
                        TName extends string,
                        TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms",
                    >(
                        name: TName,
                        config?: IntegerConfig<TMode>,
                    ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
                        ? SQLiteTimestampBuilderInitial<TName>
                        : Equal<TMode, "boolean"> extends true
                            ? SQLiteBooleanBuilderInitial<TName>
                            : SQLiteIntegerBuilderInitial<TName>;
                };
                numeric: {
                    <TMode extends "string" | "number" | "bigint">(
                        config?: SQLiteNumericConfig<TMode>,
                    ): Equal<TMode, "number"> extends true
                        ? SQLiteNumericNumberBuilderInitial<"">
                        : Equal<TMode, "bigint"> extends true
                            ? SQLiteNumericBigIntBuilderInitial<"">
                            : SQLiteNumericBuilderInitial<"">;
                    <TName extends string, TMode extends "string" | "number" | "bigint">(
                        name: TName,
                        config?: SQLiteNumericConfig<TMode>,
                    ): Equal<TMode, "number"> extends true
                        ? SQLiteNumericNumberBuilderInitial<TName>
                        : Equal<TMode, "bigint"> extends true
                            ? SQLiteNumericBigIntBuilderInitial<TName>
                            : SQLiteNumericBuilderInitial<TName>;
                };
                real: {
                    (): SQLiteRealBuilderInitial<"">;
                    <TName extends string>(name: TName): SQLiteRealBuilderInitial<TName>;
                };
                text: {
                    (): SQLiteTextBuilderInitial<"", [string, ...string[]], undefined>;
                    <
                        U extends string,
                        T extends readonly [U, U],
                        L extends number | undefined,
                        TMode extends "json" | "text" = "json" | "text",
                    >(
                        config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
                    ): Equal<TMode, "json"> extends true
                        ? SQLiteTextJsonBuilderInitial<"">
                        : SQLiteTextBuilderInitial<"", Writable<T>, L>;
                    <
                        TName extends string,
                        U extends string,
                        T extends readonly [U, U],
                        L extends number | undefined,
                        TMode extends "json" | "text" = "json" | "text",
                    >(
                        name: TName,
                        config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
                    ): Equal<TMode, "json"> extends true
                        ? SQLiteTextJsonBuilderInitial<TName>
                        : SQLiteTextBuilderInitial<TName, Writable<T>, L>;
                };
            },
        ) => TColumnsMap
      • OptionalextraConfig: (
            self: {
                [Key in string | number | symbol]: SQLiteColumn<
                    {
                        baseColumn: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { baseBuilder: U }
                            ? Column<
                                {
                                    baseColumn: U["_"] extends { baseBuilder: U }
                                        ? (
                                            Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
                                        )
                                        : never;
                                    columnType: U["_"]["columnType"];
                                    data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
                                    dataType: U["_"]["dataType"];
                                    driverParam: U["_"]["driverParam"];
                                    enumValues: U["_"]["enumValues"];
                                    generated: U["_"] extends { generated: G }
                                        ? unknown extends G
                                            ? undefined
                                            : (...) extends (...) ? (...) : (...)
                                        : undefined;
                                    hasDefault: U["_"] extends { hasDefault: true } ? true : false;
                                    hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
                                        ? true
                                        : false;
                                    identity: U["_"] extends { identity: "always" }
                                        ? "always"
                                        : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
                                    isAutoincrement: U["_"] extends { isAutoincrement: true }
                                        ? true
                                        : false;
                                    isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
                                    name: U["_"]["name"];
                                    notNull: U["_"] extends { notNull: true } ? true : false;
                                    tableName: TTableName;
                                },
                                {},
                                {
                                    [K in string
                                    | number
                                    | symbol]: Omit<
                                        (...)[(...)],

                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...),
                                    >[K]
                                },
                            >
                            : never;
                        columnType: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["columnType"];
                        data: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { $type: U }
                            ? U
                            : (
                                Omit<(...)[(...)]["_"], "name"> & {
                                    name: (...)[(...)] extends ""
                                        ? Assume<(...), (...)>
                                        : (...)[(...)];
                                }
                            )["data"];
                        dataType: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["dataType"];
                        driverParam: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["driverParam"];
                        enumValues: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["enumValues"];
                        generated: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { generated: G }
                            ? unknown extends G
                                ? undefined
                                : G extends undefined ? undefined : G
                            : undefined;
                        hasDefault: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { hasDefault: true }
                            ? true
                            : false;
                        hasRuntimeDefault: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { hasRuntimeDefault: true }
                            ? true
                            : false;
                        identity: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { identity: "always" }
                            ? "always"
                            : (
                                Omit<(...)[(...)]["_"], "name"> & {
                                    name: (...)[(...)] extends ""
                                        ? Assume<(...), (...)>
                                        : (...)[(...)];
                                }
                            ) extends { identity: "byDefault" }
                                ? "byDefault"
                                : undefined;
                        isAutoincrement: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { isAutoincrement: true }
                            ? true
                            : false;
                        isPrimaryKey: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { isPrimaryKey: true }
                            ? true
                            : false;
                        name: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        )["name"];
                        notNull: (
                            Omit<TColumnsMap[Key]["_"], "name"> & {
                                name: (...)[(...)]["name"] extends ""
                                    ? Assume<Key, string>
                                    : (...)[(...)]["name"];
                            }
                        ) extends { notNull: true }
                            ? true
                            : false;
                        tableName: TTableName;
                    },
                    {},
                    {
                        [K in string
                        | number
                        | symbol]: Omit<
                            Omit<(...)[(...)]["_"], "name"> & {
                                name: (...)[(...)] extends "" ? Assume<(...), (...)> : (...)[(...)];
                            },
                            | "dialect"
                            | "name"
                            | "data"
                            | "driverParam"
                            | "tableName"
                            | "notNull"
                            | "hasDefault"
                            | "isPrimaryKey"
                            | "isAutoincrement"
                            | "hasRuntimeDefault"
                            | "dataType"
                            | "columnType"
                            | "enumValues"
                            | "identity"
                            | "brand"
                            | "baseColumn"
                            | "generated",
                        >[K]
                    },
                >
            },
        ) => SQLiteTableExtraConfig

      Returns SQLiteTableWithColumns<
          {
              columns: {
                  [Key in string
                  | number
                  | symbol]: SQLiteColumn<
                      {
                          baseColumn: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { baseBuilder: U }
                              ? Column<
                                  {
                                      baseColumn: U["_"] extends { baseBuilder: U }
                                          ? (
                                              Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
                                          )
                                          : never;
                                      columnType: U["_"]["columnType"];
                                      data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
                                      dataType: U["_"]["dataType"];
                                      driverParam: U["_"]["driverParam"];
                                      enumValues: U["_"]["enumValues"];
                                      generated: U["_"] extends { generated: G }
                                          ? unknown extends G
                                              ? undefined
                                              : (...) extends (...) ? (...) : (...)
                                          : undefined;
                                      hasDefault: U["_"] extends { hasDefault: true } ? true : false;
                                      hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
                                          ? true
                                          : false;
                                      identity: U["_"] extends { identity: "always" }
                                          ? "always"
                                          : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
                                      isAutoincrement: U["_"] extends { isAutoincrement: true }
                                          ? true
                                          : false;
                                      isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
                                      name: U["_"]["name"];
                                      notNull: U["_"] extends { notNull: true } ? true : false;
                                      tableName: TTableName;
                                  },
                                  {},
                                  {
                                      [K in string
                                      | number
                                      | symbol]: Omit<
                                          (...)[(...)],

                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...)
                                              | (...),
                                      >[K]
                                  },
                              >
                              : never;
                          columnType: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["columnType"];
                          data: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { $type: U }
                              ? U
                              : (
                                  Omit<(...)[(...)]["_"], "name"> & {
                                      name: (...)[(...)] extends ""
                                          ? Assume<(...), (...)>
                                          : (...)[(...)];
                                  }
                              )["data"];
                          dataType: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["dataType"];
                          driverParam: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["driverParam"];
                          enumValues: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["enumValues"];
                          generated: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { generated: G }
                              ? unknown extends G
                                  ? undefined
                                  : G extends undefined ? undefined : G
                              : undefined;
                          hasDefault: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { hasDefault: true }
                              ? true
                              : false;
                          hasRuntimeDefault: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { hasRuntimeDefault: true }
                              ? true
                              : false;
                          identity: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { identity: "always" }
                              ? "always"
                              : (
                                  Omit<(...)[(...)]["_"], "name"> & {
                                      name: (...)[(...)] extends ""
                                          ? Assume<(...), (...)>
                                          : (...)[(...)];
                                  }
                              ) extends { identity: "byDefault" }
                                  ? "byDefault"
                                  : undefined;
                          isAutoincrement: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { isAutoincrement: true }
                              ? true
                              : false;
                          isPrimaryKey: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { isPrimaryKey: true }
                              ? true
                              : false;
                          name: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          )["name"];
                          notNull: (
                              Omit<TColumnsMap[Key]["_"], "name"> & {
                                  name: (...)[(...)]["name"] extends ""
                                      ? Assume<Key, string>
                                      : (...)[(...)]["name"];
                              }
                          ) extends { notNull: true }
                              ? true
                              : false;
                          tableName: TTableName;
                      },
                      {},
                      {
                          [K in string
                          | number
                          | symbol]: Omit<
                              Omit<(...)[(...)]["_"], "name"> & {
                                  name: (...)[(...)] extends ""
                                      ? Assume<(...), (...)>
                                      : (...)[(...)];
                              },
                              | "dialect"
                              | "name"
                              | "data"
                              | "driverParam"
                              | "tableName"
                              | "notNull"
                              | "hasDefault"
                              | "isPrimaryKey"
                              | "isAutoincrement"
                              | "hasRuntimeDefault"
                              | "dataType"
                              | "columnType"
                              | "enumValues"
                              | "identity"
                              | "brand"
                              | "baseColumn"
                              | "generated",
                          >[K]
                      },
                  >
              };
              dialect: "sqlite";
              name: TTableName;
              schema: TSchema;
          },
      >

      The third parameter of sqliteTable is changing and will only accept an array instead of an object

      Deprecated version:

      export const users = sqliteTable("users", {
      id: int(),
      }, (t) => ({
      idx: index('custom_name').on(t.id)
      }));

      New API:

      export const users = sqliteTable("users", {
      id: int(),
      }, (t) => [
      index('custom_name').on(t.id)
      ]);