Home / Function/ mysqlSuite.addGeneratedColumn() — drizzle-orm Function Reference

mysqlSuite.addGeneratedColumn() — drizzle-orm Function Reference

Architecture documentation for the mysqlSuite.addGeneratedColumn() function in mysql.test.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  06fe3ac0_2799_272d_3152_c1b2347f593c["mysqlSuite.addGeneratedColumn()"]
  e4016db2_352d_b236_2557_d9a74c6066c1["mysql.test.ts"]
  06fe3ac0_2799_272d_3152_c1b2347f593c -->|defined in| e4016db2_352d_b236_2557_d9a74c6066c1
  style 06fe3ac0_2799_272d_3152_c1b2347f593c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/tests/push/mysql.test.ts lines 322–408

	addGeneratedColumn: async function(context: any): Promise<void> {
		const schema1 = {
			users: mysqlTable('users', {
				id: int('id'),
				id2: int('id2'),
				name: text('name'),
			}),
		};
		const schema2 = {
			users: mysqlTable('users', {
				id: int('id'),
				id2: int('id2'),
				name: text('name'),
				generatedName: text('gen_name').generatedAlwaysAs(
					(): SQL => sql`${schema2.users.name} || 'hello'`,
					{ mode: 'stored' },
				),
				generatedName1: text('gen_name1').generatedAlwaysAs(
					(): SQL => sql`${schema2.users.name} || 'hello'`,
					{ mode: 'virtual' },
				),
			}),
		};

		const { statements, sqlStatements } = await diffTestSchemasPushMysql(
			context.client as Connection,
			schema1,
			schema2,
			[],
			'drizzle',
			false,
		);

		expect(statements).toStrictEqual([
			{
				column: {
					autoincrement: false,
					generated: {
						as: "`users`.`name` || 'hello'",
						type: 'stored',
					},
					name: 'gen_name',
					notNull: false,
					primaryKey: false,
					type: 'text',
				},
				schema: '',
				tableName: 'users',
				type: 'alter_table_add_column',
			},
			{
				column: {
					autoincrement: false,
					generated: {
						as: "`users`.`name` || 'hello'",
						type: 'virtual',
					},
					name: 'gen_name1',
					notNull: false,
					primaryKey: false,
					type: 'text',
				},
				schema: '',
				tableName: 'users',
				type: 'alter_table_add_column',
			},
		]);
		expect(sqlStatements).toStrictEqual([
			"ALTER TABLE `users` ADD `gen_name` text GENERATED ALWAYS AS (`users`.`name` || 'hello') STORED;",
			"ALTER TABLE `users` ADD `gen_name1` text GENERATED ALWAYS AS (`users`.`name` || 'hello') VIRTUAL;",
		]);

		for (const st of sqlStatements) {
			await context.client.query(st);
		}

		const { sqlStatements: dropStatements } = await diffTestSchemasMysql(
			schema2,
			{},
			[],
			false,

Domain

Subdomains

Frequently Asked Questions

What does mysqlSuite.addGeneratedColumn() do?
mysqlSuite.addGeneratedColumn() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/push/mysql.test.ts.
Where is mysqlSuite.addGeneratedColumn() defined?
mysqlSuite.addGeneratedColumn() is defined in drizzle-kit/tests/push/mysql.test.ts at line 322.

Analyze Your Own Codebase

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

Try Supermodel Free