OpenAPITools / OpenAPITools/openapi-generator

[REQ][MySQL] Openapi data format uuid to VARCHAR UNIQUE

Open
#3,533 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Enhancement: Feature Schema: MySQL
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Is your feature request related to a problem? Please describe.

There is special Openapi data format uuid. Right now this format mapped to TEXT column type and it's not possible to add UNIQUE index to this column because of error:

#1170 - BLOB/TEXT column 'uuid' used in key specification without a key length

First of all let's check how usually uuid looks like, in PHP:

echo uniqid();
// 5d437d6a28bca

or in MySQL:

SELECT UUID();
// e6380056-b4b8-11e9-8c6e-a3c6f372608a

So, it's alphanumeric string and not too long.

Describe the solution you'd like

VARCHAR column type with limited length looks like a good fit. My suggestion is:

--- `uuid` TEXT DEFAULT NULL,
+++ `uuid` VARCHAR(255) DEFAULT NULL UNIQUE,

Additional context

I'll do this enhancement myself, just want to open discussion and track progress.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by locating the MySQL schema-generation mapping for the OpenAPI uuid format and its existing tests, then verify that the generated column supports a UNIQUE index without the reported key-length error.

Written by the indexing model from the issue text.

Assessment

Tech stack
mysql, openapi
Domain
databases
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.