Home / File/ insert.ts — drizzle-orm Source File

insert.ts — drizzle-orm Source File

Architecture documentation for insert.ts, a typescript file in the drizzle-orm codebase. 10 imports, 0 dependents.

File typescript DrizzleORM SQLDialects 10 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d["insert.ts"]
  9a56da77_7540_380c_f8b9_d8bde4914940["db.ts"]
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> 9a56da77_7540_380c_f8b9_d8bde4914940
  87dcb46e_0d95_8341_e760_d59ef620c68d["tables.ts"]
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> 87dcb46e_0d95_8341_e760_d59ef620c68d
  05a4464c_b137_3d56_0f64_434dce6f7bad["users"]
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> 05a4464c_b137_3d56_0f64_434dce6f7bad
  ccd8f141_31dd_df9e_0535_43efaea4d6db["better-sqlite3"]
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> ccd8f141_31dd_df9e_0535_43efaea4d6db
  25b05299_f48f_bceb_01ca_1343d330a8f7["utils.ts"]
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> 25b05299_f48f_bceb_01ca_1343d330a8f7
  5c46beaf_8b59_d2e3_def3_8af6daf1fccd["index.ts"]
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> 5c46beaf_8b59_d2e3_def3_8af6daf1fccd
  be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"]
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd
  c9460fa2_b68e_584b_2be3_a4db38ea6f7c["index.ts"]
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> c9460fa2_b68e_584b_2be3_a4db38ea6f7c
  6d9e8a15_365c_4cf1_cb57_72eebcebdf02["insert.ts"]
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> 6d9e8a15_365c_4cf1_cb57_72eebcebdf02
  ecce3253_1e75_a87f_27b3_ca87e81a3024["utils.ts"]
  40aaa4f8_fa63_89fa_80a7_f806d7c20c5d --> ecce3253_1e75_a87f_27b3_ca87e81a3024
  style 40aaa4f8_fa63_89fa_80a7_f806d7c20c5d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { RunResult } from 'better-sqlite3';
import type { Equal } from 'type-tests/utils.ts';
import { Expect } from 'type-tests/utils.ts';
import { and, eq } from '~/sql/expressions/index.ts';
import { sql } from '~/sql/sql.ts';
import { integer, QueryBuilder, sqliteTable, text } from '~/sqlite-core/index.ts';
import type { SQLiteInsert } from '~/sqlite-core/query-builders/insert.ts';
import type { DrizzleTypeError } from '~/utils.ts';
import { bunDb, db } from './db.ts';
import type { NewUser } from './tables.ts';
import { users } from './tables.ts';

const newUser: NewUser = {
	homeCity: 1,
	class: 'A',
	age1: 1,
	enumCol: 'a',
	serialNotNull: 1,
};

const insertRun = db.insert(users).values(newUser).run();
Expect<Equal<RunResult, typeof insertRun>>;

const insertRunBun = bunDb.insert(users).values(newUser).run();
Expect<Equal<void, typeof insertRunBun>>;

const insertAll = db.insert(users).values(newUser).all();
Expect<Equal<DrizzleTypeError<'.all() cannot be used without .returning()'>, typeof insertAll>>;

const insertAllBun = bunDb.insert(users).values(newUser).all();
Expect<Equal<DrizzleTypeError<'.all() cannot be used without .returning()'>, typeof insertAllBun>>;

const insertGet = db.insert(users).values(newUser).get();
Expect<Equal<DrizzleTypeError<'.get() cannot be used without .returning()'>, typeof insertGet>>;

const insertGetBun = bunDb.insert(users).values(newUser).get();
Expect<Equal<DrizzleTypeError<'.get() cannot be used without .returning()'>, typeof insertGetBun>>;

const insertValues = db.insert(users).values(newUser).values();
Expect<Equal<DrizzleTypeError<'.values() cannot be used without .returning()'>, typeof insertValues>>;

const insertValuesBun = bunDb.insert(users).values(newUser).values();
Expect<Equal<DrizzleTypeError<'.values() cannot be used without .returning()'>, typeof insertValuesBun>>;

const insertRunReturningAll = db.insert(users).values(newUser).returning().run();
Expect<Equal<RunResult, typeof insertRunReturningAll>>;

const insertRunReturningAllBun = bunDb.insert(users).values(newUser).returning().run();
Expect<Equal<void, typeof insertRunReturningAllBun>>;

const insertAllReturningAll = db.insert(users).values(newUser).returning().all();
Expect<Equal<typeof users.$inferSelect[], typeof insertAllReturningAll>>;

const insertAllReturningAllBun = bunDb.insert(users).values(newUser).returning().all();
Expect<Equal<typeof users.$inferSelect[], typeof insertAllReturningAllBun>>;

const insertGetReturningAll = db.insert(users).values(newUser).returning().get();
Expect<Equal<typeof users.$inferSelect, typeof insertGetReturningAll>>;

const insertGetReturningAllBun = bunDb.insert(users).values(newUser).returning().get();
// ... (221 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does insert.ts do?
insert.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, SQLDialects subdomain.
What functions are defined in insert.ts?
insert.ts defines 2 function(s): dynamic, withReturning.
What does insert.ts depend on?
insert.ts imports 10 module(s): better-sqlite3, db.ts, index.ts, index.ts, insert.ts, sql.ts, tables.ts, users, and 2 more.
Where is insert.ts in the architecture?
insert.ts is located at drizzle-orm/type-tests/sqlite/insert.ts (domain: DrizzleORM, subdomain: SQLDialects, directory: drizzle-orm/type-tests/sqlite).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free