{"id":"c42d91285672cef7","repo":"drizzle-team/drizzle-orm","slug":"method-not-implemented-c42d91","errorCode":null,"errorMessage":"Method not implemented.","messagePattern":"Method not implemented\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"drizzle-orm/src/singlestore-core/columns/enum.ts","lineNumber":34,"sourceCode":"\tSingleStoreEnumColumnBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'SingleStoreEnumColumn';\n\t\tdata: TEnum[number];\n\t\tdriverParam: string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t}>;\n\nexport class SingleStoreEnumColumnBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreEnumColumn'>>\n\textends SingleStoreColumnBuilder<T, { enumValues: T['enumValues'] }>\n{\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\toverride generatedAlwaysAs(\n\t\tas: SQL<unknown> | (() => SQL) | T['data'],\n\t\tconfig?: Partial<GeneratedColumnConfig<unknown>>,\n\t): HasGenerated<this, {}> {\n\t\tthrow new Error('Method not implemented.');\n\t}\n\tstatic override readonly [entityKind]: string = 'SingleStoreEnumColumnBuilder';\n\n\tconstructor(name: T['name'], values: T['enumValues']) {\n\t\tsuper(name, 'string', 'SingleStoreEnumColumn');\n\t\tthis.config.enumValues = values;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreEnumColumn<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new SingleStoreEnumColumn<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}","sourceCodeStart":16,"sourceCodeEnd":52,"githubUrl":"https://github.com/drizzle-team/drizzle-orm/blob/b7862528fd8fc39bc2653a6c18dad7c1f4e68d10/drizzle-orm/src/singlestore-core/columns/enum.ts#L16-L52","documentation":"SingleStoreEnumColumnBuilder.generatedAlwaysAs() throws 'Method not implemented.' SingleStore enum columns do not yet support generated/computed values; the builder override deliberately throws to prevent generating invalid migrations/DDL for an unsupported combination.","triggerScenarios":"Defining a SingleStore enum column with .generatedAlwaysAs(...): singlestoreEnum('role', ['admin','user']).generatedAlwaysAs(sql`...`).","commonSituations":"Porting a schema that uses generated enum defaults. Copying Postgres/MySQL enum patterns that include generated columns into SingleStore.","solutions":["Remove generatedAlwaysAs from enum columns; use .default(...) with a literal enum value instead.","If the enum must be derived, compute it in application code or via a trigger/stored procedure outside Drizzle's schema.","Track upstream SingleStore support; until then do not declare generated enum columns."],"exampleFix":"// before (throws)\nrole: singlestoreEnum('role', ['admin', 'user']).generatedAlwaysAs(sql`'user'`),\n\n// after\nrole: singlestoreEnum('role', ['admin', 'user']).default('user'),","handlingStrategy":"type-guard","validationCode":"import { entityKind } from 'drizzle-orm/entity';\n\nfunction isSingleStoreEnumBuilder(b: any): boolean {\n  return b?.[entityKind] === 'SingleStoreEnumColumnBuilder';\n}\n\n// For SingleStore enum columns, use .default('value') instead of generatedAlwaysAs.","typeGuard":"function isSingleStoreEnumColumnBuilder(b: unknown): boolean {\n  return (b as any)?.[Symbol.for('drizzle:entityKind')] === 'SingleStoreEnumColumnBuilder';\n}","tryCatchPattern":"try {\n  const col = singlestoreEnum('role', ['admin', 'user']).generatedAlwaysAs(sql`'user'`);\n} catch (e) {\n  if (e instanceof Error && e.message === 'Method not implemented.') {\n    const col = singlestoreEnum('role', ['admin', 'user']).default('user');\n  } else throw e;\n}","preventionTips":["Do not declare generated SingleStore enum columns; use .default('value').","When porting schemas, convert generated enum columns to defaults.","Track upstream SingleStore generated-column support."],"tags":["singlestore","enum","generated-columns","not-implemented","schema"],"analyzedSha":"b7862528fd8fc39bc2653a6c18dad7c1f4e68d10","analyzedAt":"2026-08-03T18:11:14.318Z","schemaVersion":2}