Skip to content

MYSQL's AUTO INCREMENT not recognized by DDLParser #130

@rheophile10

Description

@rheophile10

from simple_ddl_parser import DDLParser

ddl = """
CREATE TABLE Users (
   user_id INT NOT NULL AUTO INCREMENT,
   username VARCHAR(100) NOT NULL,
   password VARCHAR(40) NOT NULL,
   submission_date DATE,
   PRIMARY KEY ( user_id )
);
"""

result = DDLParser(ddl).run(output_mode="mysql")
print(result)

output is

[{'primary_key': ['user_id']}]

if we remove AUTO INCREMENT however, input is now


from simple_ddl_parser import DDLParser

ddl = """
CREATE TABLE Users (
   user_id INT NOT NULL,
   username VARCHAR(100) NOT NULL,
   password VARCHAR(40) NOT NULL,
   submission_date DATE,
   PRIMARY KEY ( user_id )
);
"""

result = DDLParser(ddl).run(output_mode="mysql")
print(result)

and output is

[{'columns': [{'name': 'user_id', 'type': 'INT', 'size': None, 'references': None, 'unique': False, 'nullable': False, 'default': None, 'check': None}, {'name': 'username', 'type': 'VARCHAR', 'size': 100, 'references': None, 'unique': False, 'nullable': False, 'default': None, 'check': None}, {'name': 'password', 'type': 'VARCHAR', 'size': 40, 'references': None, 'unique': False, 'nullable': False, 'default': None, 'check': None}, {'name': 'submission_date', 'type': 'DATE', 'size': None, 'references': None, 'unique': False, 'nullable': True, 'default': None, 'check': None}], 'primary_key': ['user_id'], 'alter': {}, 'checks': [], 'index': [], 'partitioned_by': [], 'tablespace': None, 'constraints': {'uniques': None, 'checks': None, 'references': None}, 'schema': None, 'table_name': 'Users'}]```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions