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

mysqlSuite.addGeneratedToColumn() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

drizzle-kit/tests/push/mysql.test.ts lines 409–498

	addGeneratedToColumn: async function(context: any): Promise<void> {
		const schema1 = {
			users: mysqlTable('users', {
				id: int('id'),
				id2: int('id2'),
				name: text('name'),
				generatedName: text('gen_name'),
				generatedName1: text('gen_name1'),
			}),
		};
		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([
			{
				columnAutoIncrement: false,
				columnDefault: undefined,
				columnGenerated: {
					as: "`users`.`name` || 'hello'",
					type: 'stored',
				},
				columnName: 'gen_name',
				columnNotNull: false,
				columnOnUpdate: undefined,
				columnPk: false,
				newDataType: 'text',
				schema: '',
				tableName: 'users',
				type: 'alter_table_alter_column_set_generated',
			},
			{
				columnAutoIncrement: false,
				columnDefault: undefined,
				columnGenerated: {
					as: "`users`.`name` || 'hello'",
					type: 'virtual',
				},
				columnName: 'gen_name1',
				columnNotNull: false,
				columnOnUpdate: undefined,
				columnPk: false,
				newDataType: 'text',
				schema: '',
				tableName: 'users',
				type: 'alter_table_alter_column_set_generated',
			},
		]);
		expect(sqlStatements).toStrictEqual([
			"ALTER TABLE `users` MODIFY COLUMN `gen_name` text GENERATED ALWAYS AS (`users`.`name` || 'hello') STORED;",
			'ALTER TABLE `users` DROP COLUMN `gen_name1`;',
			"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,

Domain

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free