neoorm 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/table.d.ts +49 -10
- package/dist/schema/table.d.ts.map +1 -1
- package/dist/schema/table.js +24 -6
- package/dist/schema/table.js.map +1 -1
- package/docs/examples.md +3 -3
- package/docs/schema.md +7 -2
- package/package.json +1 -1
package/dist/schema/index.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export { many, manyToMany } from "./many-to-many.js";
|
|
|
17
17
|
export type { FkBuilder, FkDeferrable, FkMeta, OnDeleteAction, OnUpdateAction, } from "./relation.js";
|
|
18
18
|
export { fk } from "./relation.js";
|
|
19
19
|
export type { InlineM2MInverseRelations, InlineM2MInverseWhereMap, InlineM2MInverseWriteMap, InlineM2MRelations, InlineM2MWhereMap, InlineM2MWriteMap, InverseRelations, JunctionM2MRelations, NestedCreateInput, OutgoingFkRelations, RelationCreateMap, RelationUpdateMap, SqlNameToAccessor, } from "./relation-types.js";
|
|
20
|
-
export type { BloomIndexOptions, ColumnDef, ColumnNaming, ColumnRefs, ForeignKeyBuilder, ForeignKeyDef, IndexDef, IndexExpr, IndexKeyInput, IndexMethod, IndexWherePredicate, PrimaryKeyDef, ScalarColumnKeys, TableDef, TableExtra, TableOptions, } from "./table.js";
|
|
20
|
+
export type { BloomIndexOptions, ColumnDef, ColumnNaming, ColumnRefs, ForeignKeyBuilder, ForeignKeyDef, IndexBuilder, IndexDef, IndexExpr, IndexKeyInput, IndexMethod, IndexScopeHelpers, IndexWhereInput, IndexWherePredicate, IndexWhereValue, PrimaryKeyDef, ScalarColumnKeys, TableDef, TableExtra, TableOptions, TableScope, } from "./table.js";
|
|
21
21
|
export { expr, foreignKey, index, primaryKey, table, unique } from "./table.js";
|
|
22
22
|
export { clearTableRegistry } from "./table-registry.js";
|
|
23
23
|
export type { AggregateArgs, ApplyOmit, ApplySelect, ColumnWhereInput, ComparableFilter, ConnectInput, ConnectOrCreateItem, CountArgs, CountSelect, CreateArgs, CreateInput, CreateManyAndReturnArgs, CreateManyArgs, CreateManyInput, CursorInput, DeleteArgs, DeleteManyAndReturnArgs, DeleteManyArgs, ExistsArgs, FindByIdArgs, FindFirstArgs, FindManyArgs, FindOrCreateArgs, FindOrCreateResult, FindUniqueArgs, GroupByArgs, GroupByHaving, GroupByOrderBy, HiddenKeys, InferAggregateResult, InferCountResult, InferFindResult, InferGroupByResult, InferInsertRow, InferMutationResult, InferPkFields, InferSelectRow, InferWithResult, JsonFilter, LogicalWhereInput, ManyRelationFilter, NumericHaving, NumericUpdateOps, OmitInput, OrderByInput, OrderDirection, PaginateArgs, PaginateResult, PluginColumnWhereOperators, QueryMode, RelationAccessors, RelationCountInput, RelationWhereMap, RelationWriteInput, ScalarPkName, ScalarSetOp, SchemaTables, SearchTsParser, SearchTsQuery, SelectInput, StringFilter, StripCapable, StripOmitKeys, StripResult, UniqueWhere, UpdateArgs, UpdateInput, UpdateManyAndReturnArgs, UpdateManyArgs, UpsertArgs, WhereInput, WhereOperators, WithInclude, WithInput, WithInputMap, WithRelationOptions, } from "./types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,YAAY,EACX,cAAc,EACd,eAAe,EACf,WAAW,EACX,WAAW,GACX,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,SAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,KAAK,EACL,EAAE,EACF,IAAI,EACJ,GAAG,EACH,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,SAAS,EACT,UAAU,EACV,OAAO,EACP,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,GAAG,GACH,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EACX,uBAAuB,EACvB,eAAe,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EACX,SAAS,EACT,YAAY,EACZ,MAAM,EACN,cAAc,EACd,cAAc,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,YAAY,EACX,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,OAAO,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,SAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,KAAK,EACL,EAAE,EACF,IAAI,EACJ,GAAG,EACH,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,SAAS,EACT,UAAU,EACV,OAAO,EACP,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,GAAG,GACH,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,OAAO,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,SAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,KAAK,EACL,EAAE,EACF,IAAI,EACJ,GAAG,EACH,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,SAAS,EACT,UAAU,EACV,OAAO,EACP,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,GAAG,GACH,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAuCnC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/schema/table.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ColumnBuilder, ColumnMeta } from "./column.js";
|
|
2
|
+
import type { InferColumnValue } from "./column-where.js";
|
|
2
3
|
import type { ManyToManyExtra } from "./many-to-many.js";
|
|
3
4
|
import type { FkBuilder, FkDeferrable, OnDeleteAction, OnUpdateAction } from "./relation.js";
|
|
4
5
|
export type ColumnDef = ColumnBuilder<unknown> | FkBuilder | ManyToManyExtra;
|
|
@@ -97,7 +98,7 @@ export type ColumnNaming = "snakeCase" | "camelCase";
|
|
|
97
98
|
/** Options for {@link table}. */
|
|
98
99
|
export type TableOptions<TColumns extends Record<string, ColumnDef> = Record<string, ColumnDef>, TExtras extends readonly TableExtra[] = readonly TableExtra[]> = {
|
|
99
100
|
columnNaming?: ColumnNaming;
|
|
100
|
-
extras?: (t:
|
|
101
|
+
extras?: (t: TableScope<TColumns>) => TExtras;
|
|
101
102
|
};
|
|
102
103
|
export type TableDef<TName extends string = string, TColumns extends Record<string, ColumnDef> = Record<string, ColumnDef>, TTargetRef extends string = string, TExtras extends readonly TableExtra[] = readonly TableExtra[]> = {
|
|
103
104
|
readonly _tableName: TName;
|
|
@@ -110,6 +111,37 @@ export type TableDef<TName extends string = string, TColumns extends Record<stri
|
|
|
110
111
|
export type ColumnRefs<TColumns extends Record<string, ColumnDef>> = {
|
|
111
112
|
readonly [K in keyof TColumns]: K & string;
|
|
112
113
|
};
|
|
114
|
+
/**
|
|
115
|
+
* Per-column value for a partial-index predicate.
|
|
116
|
+
* Scalar columns keep their precise types (including string-literal unions
|
|
117
|
+
* for enums) so IDEs autocomplete values; anything else (dates, json,
|
|
118
|
+
* bigint, …) falls back to the primitive union `compileIndexWhere`
|
|
119
|
+
* supports at runtime.
|
|
120
|
+
*/
|
|
121
|
+
export type IndexWhereValue<TCol extends ColumnDef> = InferColumnValue<TCol, Record<string, TableDef>> extends infer V ? [V] extends [boolean | number | string | null] ? V | null : boolean | number | string | null : never;
|
|
122
|
+
/**
|
|
123
|
+
* Equality-only predicate for partial indexes.
|
|
124
|
+
* Keys come from the table's columns, so IDEs get autocomplete. Matches
|
|
125
|
+
* what `compileIndexWhere` supports at runtime (`= / IS NULL` joined by
|
|
126
|
+
* `AND`); no `OR` / operator bags.
|
|
127
|
+
*/
|
|
128
|
+
export type IndexWhereInput<TColumns extends Record<string, ColumnDef>> = {
|
|
129
|
+
[K in ScalarColumnKeys<TColumns>]?: IndexWhereValue<TColumns[K]>;
|
|
130
|
+
};
|
|
131
|
+
type IndexScopeKeys<TColumns extends Record<string, ColumnDef>> = readonly (Extract<keyof TColumns & string, string> | IndexExpr)[];
|
|
132
|
+
/**
|
|
133
|
+
* `index()` / `unique()` bound to the enclosing `table()` so `.where()`
|
|
134
|
+
* is typed. Exposed as `t.index` / `t.unique` on the extras scope.
|
|
135
|
+
* Omitted when the table has a column with the same name (use the
|
|
136
|
+
* top-level `index()` / `unique()` instead, with an untyped predicate).
|
|
137
|
+
*/
|
|
138
|
+
export type IndexScopeHelpers<TColumns extends Record<string, ColumnDef>> = ("index" extends Extract<keyof TColumns, string> ? Record<never, never> : {
|
|
139
|
+
index(...keys: IndexScopeKeys<TColumns>): IndexBuilder<TColumns>;
|
|
140
|
+
}) & ("unique" extends Extract<keyof TColumns, string> ? Record<never, never> : {
|
|
141
|
+
unique(...keys: IndexScopeKeys<TColumns>): IndexBuilder<TColumns>;
|
|
142
|
+
});
|
|
143
|
+
/** Extras-callback scope: column refs plus typed `t.index` / `t.unique`. */
|
|
144
|
+
export type TableScope<TColumns extends Record<string, ColumnDef>> = ColumnRefs<TColumns> & IndexScopeHelpers<TColumns>;
|
|
113
145
|
/**
|
|
114
146
|
* `WITH` storage options for `USING bloom` indexes.
|
|
115
147
|
*
|
|
@@ -121,7 +153,7 @@ export type BloomIndexOptions = {
|
|
|
121
153
|
length?: number;
|
|
122
154
|
cols?: readonly number[];
|
|
123
155
|
};
|
|
124
|
-
export type IndexBuilder = {
|
|
156
|
+
export type IndexBuilder<TColumns extends Record<string, ColumnDef> = Record<string, ColumnDef>> = {
|
|
125
157
|
readonly kind: "index";
|
|
126
158
|
readonly keys: readonly IndexKeyInput[];
|
|
127
159
|
readonly columns: readonly string[];
|
|
@@ -129,19 +161,26 @@ export type IndexBuilder = {
|
|
|
129
161
|
readonly _using?: IndexMethod;
|
|
130
162
|
readonly _opclass?: string;
|
|
131
163
|
readonly _with?: BloomIndexOptions;
|
|
132
|
-
using(method: IndexMethod): IndexBuilder
|
|
133
|
-
ops(opclass: string): IndexBuilder
|
|
164
|
+
using(method: IndexMethod): IndexBuilder<TColumns>;
|
|
165
|
+
ops(opclass: string): IndexBuilder<TColumns>;
|
|
134
166
|
/** Bloom `WITH` options (requires `.using("bloom")`). */
|
|
135
|
-
with(options: BloomIndexOptions): IndexBuilder
|
|
167
|
+
with(options: BloomIndexOptions): IndexBuilder<TColumns>;
|
|
136
168
|
/** Partial index: only index rows matching the predicate. */
|
|
137
|
-
where(predicate:
|
|
169
|
+
where(predicate: IndexWhereInput<TColumns>): IndexDef;
|
|
138
170
|
};
|
|
139
171
|
export declare function isIndexExpr(value: unknown): value is IndexExpr;
|
|
140
172
|
/** SQL expression index key (`lower(email)`), not a column identifier. */
|
|
141
173
|
export declare function expr(sql: string): IndexExpr;
|
|
142
|
-
/**
|
|
174
|
+
/**
|
|
175
|
+
* Create a non-unique index on one or more columns (use in table extras).
|
|
176
|
+
* Inside extras, prefer `t.index(...)` for a typed `.where()` predicate.
|
|
177
|
+
*/
|
|
143
178
|
export declare function index(...keys: readonly IndexKeyInput[]): IndexBuilder;
|
|
144
|
-
/**
|
|
179
|
+
/**
|
|
180
|
+
* Create a unique index on one or more columns (use in table extras).
|
|
181
|
+
* Supports `.where()` for partial uniques; inside extras, prefer
|
|
182
|
+
* `t.unique(...)` for a typed predicate.
|
|
183
|
+
*/
|
|
145
184
|
export declare function unique(...keys: readonly IndexKeyInput[]): IndexBuilder;
|
|
146
185
|
/** Declare a composite primary key (use in table extras). */
|
|
147
186
|
export declare function primaryKey<C extends string>(...columns: readonly C[]): {
|
|
@@ -168,8 +207,8 @@ export declare function foreignKey(...columns: readonly string[]): ForeignKeyBui
|
|
|
168
207
|
* }),
|
|
169
208
|
* ```
|
|
170
209
|
*/
|
|
171
|
-
export declare function table<TColumns extends Record<string, ColumnDef>, TExtras extends readonly TableExtra[] = readonly []>(columns: TColumns, config?: ((t:
|
|
172
|
-
export declare function table<TName extends string, TColumns extends Record<string, ColumnDef>, TExtras extends readonly TableExtra[] = readonly []>(sqlName: TName, columns: TColumns, config?: ((t:
|
|
210
|
+
export declare function table<TColumns extends Record<string, ColumnDef>, TExtras extends readonly TableExtra[] = readonly []>(columns: TColumns, config?: ((t: TableScope<TColumns>) => TExtras) | TableOptions<TColumns, TExtras>): TableDef<"", TColumns, `.${PkColumnName<TColumns>}`, TExtras> & TableColumns<"", TColumns>;
|
|
211
|
+
export declare function table<TName extends string, TColumns extends Record<string, ColumnDef>, TExtras extends readonly TableExtra[] = readonly []>(sqlName: TName, columns: TColumns, config?: ((t: TableScope<TColumns>) => TExtras) | TableOptions<TColumns, TExtras>): TableDef<TName, TColumns, `${TName}.${PkColumnName<TColumns>}`, TExtras> & TableColumns<TName, TColumns>;
|
|
173
212
|
export declare function findPrimaryKeyColumn(columns: Record<string, ColumnDef>): string | undefined;
|
|
174
213
|
export {};
|
|
175
214
|
//# sourceMappingURL=table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/schema/table.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/schema/table.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/table.js
CHANGED
|
@@ -52,11 +52,18 @@ function createIndexBuilder(state) {
|
|
|
52
52
|
},
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Create a non-unique index on one or more columns (use in table extras).
|
|
57
|
+
* Inside extras, prefer `t.index(...)` for a typed `.where()` predicate.
|
|
58
|
+
*/
|
|
56
59
|
export function index(...keys) {
|
|
57
60
|
return createIndexBuilder({ keys, unique: false });
|
|
58
61
|
}
|
|
59
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* Create a unique index on one or more columns (use in table extras).
|
|
64
|
+
* Supports `.where()` for partial uniques; inside extras, prefer
|
|
65
|
+
* `t.unique(...)` for a typed predicate.
|
|
66
|
+
*/
|
|
60
67
|
export function unique(...keys) {
|
|
61
68
|
return createIndexBuilder({ keys, unique: true });
|
|
62
69
|
}
|
|
@@ -160,16 +167,27 @@ function buildTableDef(sqlName, columns, extras, columnNaming) {
|
|
|
160
167
|
return Object.assign(def, columns);
|
|
161
168
|
}
|
|
162
169
|
export function table(first, second, third) {
|
|
170
|
+
// Extras scope: column-name refs plus `t.index` / `t.unique` helpers that
|
|
171
|
+
// return table-typed builders (typed `.where()`). The helpers are only
|
|
172
|
+
// attached when they don't shadow a same-named column.
|
|
173
|
+
const toScope = (columnMap) => {
|
|
174
|
+
const scope = Object.fromEntries(Object.keys(columnMap).map((k) => [k, k]));
|
|
175
|
+
if (!("index" in scope)) {
|
|
176
|
+
scope.index = index;
|
|
177
|
+
}
|
|
178
|
+
if (!("unique" in scope)) {
|
|
179
|
+
scope.unique = unique;
|
|
180
|
+
}
|
|
181
|
+
return scope;
|
|
182
|
+
};
|
|
163
183
|
if (typeof first === "string" && isColumnMap(second)) {
|
|
164
|
-
const
|
|
165
|
-
const extras = resolveExtras(refs, third);
|
|
184
|
+
const extras = resolveExtras(toScope(second), third);
|
|
166
185
|
return buildTableDef(first, second, extras, configColumnNaming(third));
|
|
167
186
|
}
|
|
168
187
|
if (!isColumnMap(first)) {
|
|
169
188
|
throw schemaError(SchemaErrorCode.invalid_column, "table() expects a column map as the first argument, or a SQL name followed by a column map");
|
|
170
189
|
}
|
|
171
|
-
const
|
|
172
|
-
const extras = resolveExtras(refs, second);
|
|
190
|
+
const extras = resolveExtras(toScope(first), second);
|
|
173
191
|
return buildTableDef("", first, extras, configColumnNaming(second));
|
|
174
192
|
}
|
|
175
193
|
export function findPrimaryKeyColumn(columns) {
|
package/dist/schema/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/schema/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/schema/table.ts"],"names":[],"mappings":"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"}
|
package/docs/examples.md
CHANGED
|
@@ -506,7 +506,7 @@ See [Plugins](plugins.md).
|
|
|
506
506
|
Composite unique constraint and partial unique (soft-delete emails):
|
|
507
507
|
|
|
508
508
|
```ts
|
|
509
|
-
import { bool, fk, id,
|
|
509
|
+
import { bool, fk, id, table, text, unique } from "neoorm/schema";
|
|
510
510
|
|
|
511
511
|
posts: table(
|
|
512
512
|
{
|
|
@@ -517,7 +517,7 @@ posts: table(
|
|
|
517
517
|
},
|
|
518
518
|
(t) => [
|
|
519
519
|
unique(t.authorId, t.title),
|
|
520
|
-
index(t.title).where({ published: true }),
|
|
520
|
+
t.index(t.title).where({ published: true }),
|
|
521
521
|
],
|
|
522
522
|
),
|
|
523
523
|
|
|
@@ -527,7 +527,7 @@ users: table(
|
|
|
527
527
|
email: text().notNull(),
|
|
528
528
|
deleted: bool().notNull().default(false),
|
|
529
529
|
},
|
|
530
|
-
(t) => [unique(t.email).where({ deleted: false })],
|
|
530
|
+
(t) => [t.unique(t.email).where({ deleted: false })],
|
|
531
531
|
),
|
|
532
532
|
```
|
|
533
533
|
|
package/docs/schema.md
CHANGED
|
@@ -305,11 +305,16 @@ Bloom indexes (Postgres only) are tuned with `.with({ length, cols })`: `cols` m
|
|
|
305
305
|
|
|
306
306
|
```ts
|
|
307
307
|
(t) => [
|
|
308
|
-
index(t.title).where({ published: true }),
|
|
309
|
-
unique(t.email).where({ deleted: false }),
|
|
308
|
+
t.index(t.title).where({ published: true }),
|
|
309
|
+
t.unique(t.email).where({ deleted: false }),
|
|
310
310
|
],
|
|
311
311
|
```
|
|
312
312
|
|
|
313
|
+
Use `t.index` / `t.unique` (instead of the top-level `index()` / `unique()`)
|
|
314
|
+
so the `where` predicate is typed: keys and scalar values autocomplete from
|
|
315
|
+
the table's columns. Top-level `index()` / `unique()` still accept `.where()`
|
|
316
|
+
with an untyped predicate.
|
|
317
|
+
|
|
313
318
|
Equality map of column refs → values; compiled to `WHERE "published" = true` (or `= 1` on SQLite). Partial uniques emit as `CREATE UNIQUE INDEX ... WHERE ...`, not table-level `UNIQUE (...)`. They are valid `findUnique` / `upsert` / `findOrCreate` targets: `where` uses the indexed columns, and the index predicate is applied automatically (`AND` on lookups, `ON CONFLICT (…) WHERE …` on Postgres and SQLite).
|
|
314
319
|
|
|
315
320
|
## Many-to-many
|