generated-columns.ts — drizzle-orm Source File
Architecture documentation for generated-columns.ts, a typescript file in the drizzle-orm codebase. 5 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR fc67dc0e_fd1d_256b_4062_ebc199b65d2c["generated-columns.ts"] 0e3c50de_fbb6_eb17_22a4_8121934f6fdf["db.ts"] fc67dc0e_fd1d_256b_4062_ebc199b65d2c --> 0e3c50de_fbb6_eb17_22a4_8121934f6fdf 7f1d57a5_8769_e884_7eaa_b42671c9ad52["utils"] fc67dc0e_fd1d_256b_4062_ebc199b65d2c --> 7f1d57a5_8769_e884_7eaa_b42671c9ad52 cab723dc_a166_a0df_470b_60287623b270["index"] fc67dc0e_fd1d_256b_4062_ebc199b65d2c --> cab723dc_a166_a0df_470b_60287623b270 b673207f_199b_8891_2d19_bdb2fd534eaf["mysql-core"] fc67dc0e_fd1d_256b_4062_ebc199b65d2c --> b673207f_199b_8891_2d19_bdb2fd534eaf 4c303b8d_b070_e264_2c57_a480bbaff3e8["mysql2"] fc67dc0e_fd1d_256b_4062_ebc199b65d2c --> 4c303b8d_b070_e264_2c57_a480bbaff3e8 style fc67dc0e_fd1d_256b_4062_ebc199b65d2c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { type Equal, Expect } from 'type-tests/utils';
import { type InferInsertModel, type InferSelectModel, sql } from '~/index';
import { mysqlTable, serial, text, varchar } from '~/mysql-core';
import { drizzle } from '~/mysql2';
import { db } from './db';
const users = mysqlTable(
'users',
{
id: serial('id').primaryKey(),
firstName: varchar('first_name', { length: 255 }),
lastName: varchar('last_name', { length: 255 }),
email: text('email').notNull(),
fullName: text('full_name').generatedAlwaysAs(sql`concat_ws(first_name, ' ', last_name)`),
upperName: text('upper_name').generatedAlwaysAs(
sql` case when first_name is null then null else upper(first_name) end `,
).$type<string | null>(), // There is no way for drizzle to detect nullability in these cases. This is how the user can work around it
},
);
{
type User = typeof users.$inferSelect;
type NewUser = typeof users.$inferInsert;
Expect<
Equal<
{
id: number;
firstName: string | null;
lastName: string | null;
email: string;
fullName: string | null;
upperName: string | null;
},
User
>
>();
Expect<
Equal<
{
email: string;
id?: number | undefined;
firstName?: string | null | undefined;
lastName?: string | null | undefined;
},
NewUser
>
>();
}
{
type User = InferSelectModel<typeof users>;
type NewUser = InferInsertModel<typeof users>;
Expect<
Equal<
{
id: number;
firstName: string | null;
// ... (100 more lines)
Domain
Dependencies
- db.ts
- index
- mysql-core
- mysql2
- utils
Source
Frequently Asked Questions
What does generated-columns.ts do?
generated-columns.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain.
What does generated-columns.ts depend on?
generated-columns.ts imports 5 module(s): db.ts, index, mysql-core, mysql2, utils.
Where is generated-columns.ts in the architecture?
generated-columns.ts is located at drizzle-orm/type-tests/mysql/generated-columns.ts (domain: DrizzleORM, directory: drizzle-orm/type-tests/mysql).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free