MYSQL's AUTO INCREMENT not recognized by DDLParser
rheophile10 opened this issue · 2 comments
rheophile10 commented
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'}]```
xnuinside commented
@rheophile10 hi! Thanks for great description:) I will try to fix the issue during the weekends
xnuinside commented
sorry for the delay, fix released in version 0.26.3 - https://github.com/xnuinside/simple-ddl-parser/blob/main/tests/test_simple_ddl_parser.py#L2698 test added. If will be any new issues - feel free to open new ticket @rheophile10 thank you!