xnuinside / omymodels

O!My Models (omymodels) is a library to generate Pydantic, Dataclasses, GinoORM Models, SqlAlchemy ORM, SqlAlchemy Core Table, Models from SQL DDL. And convert one models to another.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MSSQL DDLs with '[]'

xnuinside opened this issue · comments

Describe the bug
Right now this code:

"""CREATE TABLE [dbo].[users_WorkSchedule](
        [id] [int] IDENTITY(1,1) NOT NULL,
        [RequestDropDate] [smalldatetime] NULL,
        [ShiftClass] [varchar](5) NULL,
        [StartHistory] [datetime2](7) GENERATED ALWAYS AS ROW START NOT NULL,
        [EndHistory] [datetime2](7) GENERATED ALWAYS AS ROW END NOT NULL,
        CONSTRAINT [PK_users_WorkSchedule_id] PRIMARY KEY CLUSTERED
        (
            [id] ASC
        )
        WITH (
            PAD_INDEX = OFF,
            STATISTICS_NORECOMPUTE = OFF,
            IGNORE_DUP_KEY = OFF,
            ALLOW_ROW_LOCKS = ON,
            ALLOW_PAGE_LOCKS = ON
        )  ON [PRIMARY],
        PERIOD FOR SYSTEM_TIME ([StartHistory], [EndHistory])
    )
  """

produces models like:

from gino import Gino
from sqlalchemy.dialects.postgresql import ARRAY

db = Gino(schema="[dbo]")


class [users_WorkSchedule](db.Model):

    __tablename__ = '[users_WorkSchedule]'

    [id] = db.Column(ARRAY((1,1)), nullable=False)
    [RequestDropDate] = db.Column(ARRAY(()))
    [ShiftClass] = db.Column(ARRAY((5)))
    [StartHistory] = db.Column(ARRAY((7)), nullable=False)
    [EndHistory] = db.Column(ARRAY((7)), nullable=False)

need to remove [] from types, tables, columns names & etc before generate code based on metadata from DDL

fixed in 0.11.0 version