sqlmodel icon indicating copy to clipboard operation
sqlmodel copied to clipboard

Specifying SQL Server column data type, similar to dtype in pd.to_sql()

Open HansOlavMyklebust opened this issue 3 years ago • 1 comments

First Check

  • [X] I added a very descriptive title to this issue.
  • [X] I used the GitHub search to find a similar issue and didn't find it.
  • [X] I searched the SQLModel documentation, with the integrated search.
  • [X] I already searched in Google "How to X in SQLModel" and didn't find any information.
  • [X] I already read and followed all the tutorial in the docs and didn't find an answer.
  • [X] I already checked if it is not related to SQLModel but to Pydantic.
  • [X] I already checked if it is not related to SQLModel but to SQLAlchemy.

Commit to Help

  • [X] I commit to help with one of those options 👆

Example Code

from typing import Optional

from sqlmodel import Field, SQLModel
from sqlalchemy.typing import NVARCHAR

class Hero(SQLModel, table=True):
    id: str = Field(default=None, primary_key=True, dtype=NVARCHAR(32))
    name: str
    secret_name: str
    age: Optional[int] = None

Description

Create a SQLModel that contains a mapping between python type (e.g str) and SQL Server column type (e.g NVARCHAR(32)). This is possible to do when using pandas to_sql() by specifying the dtype-argument.

Operating System

Linux, Windows

Operating System Details

No response

SQLModel Version

0.0.6

Python Version

Python 3.9.7

Additional Context

No response

HansOlavMyklebust avatar Apr 29 '22 07:04 HansOlavMyklebust

I think this is supported now with sa_type.

JacobHayes avatar May 16 '24 20:05 JacobHayes