drizzle-team/drizzle-orm · error · Error

column with type ${col.columnType} is not supported for now.

Error message

column with type ${col.columnType} is not supported for now.

What it means

After drizzle-seed calls its per-dialect column-type resolver (selectGeneratorForPostgresColumn / selectGeneratorForMysqlColumn / selectGeneratorForSqlite), it expects a generator instance back. If the resolver returns undefined for the column's columnType, no generator exists for that type and seeding cannot proceed.

Source

Thrown at drizzle-seed/src/services/SeedService.ts:272

				else if (connectionType === 'postgresql') {
					columnPossibleGenerator.generator = this.selectGeneratorForPostgresColumn(
						table,
						col,
					);
				} else if (connectionType === 'mysql') {
					columnPossibleGenerator.generator = this.selectGeneratorForMysqlColumn(
						table,
						col,
					);
				} else if (connectionType === 'sqlite') {
					columnPossibleGenerator.generator = this.selectGeneratorForSqlite(
						table,
						col,
					);
				}

				if (columnPossibleGenerator.generator === undefined) {
					throw new Error(
						`column with type ${col.columnType} is not supported for now.`,
					);
				}

				const arrayGen = columnPossibleGenerator.generator.replaceIfArray();
				if (arrayGen !== undefined) {
					columnPossibleGenerator.generator = arrayGen;
				}

				columnPossibleGenerator.generator.isUnique = col.isUnique;
				const uniqueGen = columnPossibleGenerator.generator.replaceIfUnique();
				if (uniqueGen !== undefined) {
					columnPossibleGenerator.generator = uniqueGen;
				}

				// selecting version of generator
				columnPossibleGenerator.generator = this.selectVersionOfGenerator(columnPossibleGenerator.generator);

View on GitHub (pinned to b7862528fd)

Solutions

  1. Provide an explicit generator in refinements.columns for the unsupported column so the auto-resolver is bypassed.
  2. Temporarily change the column to a supported type (e.g. text) for seeding purposes.
  3. Make the column nullable and exclude it from refinements so it defaults to null.

Example fix

// before — tsvector column has no auto generator
searchVector: tsvector('search_vector')
// after — supply a generator in refinements
refinements = {
  myTable: {
    columns: {
      searchVector: { generator: generators.string({ minLength: 1, maxLength: 50 }) }
    }
  }
};
Defensive patterns

Strategy: validation

Validate before calling

// Pre-check whether a column type is in the supported set for the target dialect.
const SUPPORTED_PREFIXES = ['serial', 'integer', 'smallint', 'bigint', 'varchar', 'text', 'boolean', 'date', 'timestamp', 'decimal', 'numeric', 'real', 'double', 'json', 'jsonb', 'uuid', 'interval', 'time'];
function isColumnTypeSupported(columnType: string): boolean {
  const base = columnType.replace(/\[\w*\]/g, '');
  return SUPPORTED_PREFIXES.some((p) => base.includes(p));
}
// If false, supply a refinement generator for that column.

Prevention

When it happens

Trigger: Using a column type drizzle-seed has no generator for, such as exotic Postgres types (e.g. tsvector, xml, money, bit varying), custom user-defined types, or a newly added drizzle-orm type that seed hasn't mapped yet.

Common situations: Adding a GIS/geometry column, a tsvector full-text column, or a domain type; upgrading drizzle-orm to a version with new column types not yet supported by the installed drizzle-seed.

Related errors


AI-assisted analysis of drizzle-team/drizzle-orm@b7862528fd (2026-08-03). Data as JSON: /data/errors/7e9c32a3e9095177.json. Report an issue: GitHub.