sqlmodel 사용시
SQLModel.metadata.create_all(engine) 호출시 db에 테이블생성이 되야하는데 안될때
SQLModel.metadata.create_all 코드가 있는 곳에 내가 생성하고자 하는 models class들을 import 해야한다!! ★
ex)
from models 부분이 중요하다
from sqlmodel import SQLModel, create_engine, Session
from models import Team, Hero, HeroTeamLink
mariadb = "mysql+pymysql"
postgresql = "postgresql+psycopg2"
engine = create_engine('{db}://{username}:{password}@{host}:{port}/{db_name}'.format(
db=postgresql,
username='id',
password='pw',
host='localhost',
port='1233',
db_name='team'
), echo=False) # echo= sql log
def create_db_and_tables():
SQLModel.metadata.create_all(engine)
혹시 그래도 안된다면
직접만든 model 안에 __tablename__도 입력하여 시도해보길 바란다
이걸로 하루날림
+
가끔 특정 타이블만 안만들어진다면 만들어진 클래스 똑같이 복사해서 이름바꾸면 된다. 이게무슨 ㅡㅡ
반응형
'python > fastapi' 카테고리의 다른 글
nginx ELB-HealthChecker/2.0 log 없애기 (0) | 2023.03.17 |
---|---|
jwt access refresh token에 대한 정의 (0) | 2022.09.07 |
[Errno 48] Address already in use (0) | 2022.08.29 |