Skip to content

Commit 57517fa

Browse files
committed
1026 18:19
1 parent f770ff8 commit 57517fa

File tree

6 files changed

+38
-11
lines changed

6 files changed

+38
-11
lines changed

main.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# src/main.py
22
import os
33
from dotenv import load_dotenv
4+
# 환경 변수를 최대한 빨리 로드하여 GPU 설정(CUDA_VISIBLE_DEVICES)이 라우터 임포트 전에 적용되도록 함
5+
load_dotenv()
46
from fastapi import FastAPI
57
from fastapi.middleware.cors import CORSMiddleware
68
from routers.auth import router as auth_router
@@ -11,8 +13,7 @@
1113
import logging
1214
import uvicorn
1315

14-
# 1) 환경변수 로드
15-
load_dotenv()
16+
# 1) 환경변수 로드 (상단에서 선 로드됨)
1617

1718
# 2) 로깅 설정
1819
logging.basicConfig(level=logging.INFO)

models/base.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
from sqlalchemy.ext.declarative import declarative_base
2-
Base = declarative_base()
2+
3+
Base = declarative_base()

models/file.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Backend/models/file.py
1+
from sqlalchemy.orm import relationship
22
from sqlalchemy import Column, Integer, String, ForeignKey, TIMESTAMP, text
33
from .base import Base
44

@@ -8,7 +8,13 @@ class File(Base):
88
id = Column(Integer, primary_key=True, autoincrement=True)
99
user_id = Column(Integer, ForeignKey('user.u_id', ondelete='CASCADE'), nullable=False)
1010
folder_id = Column(Integer, ForeignKey('folder.id', ondelete='SET NULL'), nullable=True)
11-
original_name = Column(String(255), nullable=False) # 유저가 업로드한 원본 파일 이름
12-
saved_path = Column(String(512), nullable=False) # 서버에 저장된(실제) 경로
13-
content_type = Column(String(100), nullable=False) # MIME 타입
11+
note_id = Column(Integer, ForeignKey('note.id', ondelete='CASCADE'), nullable=True)
12+
original_name = Column(String(255), nullable=False)
13+
saved_path = Column(String(512), nullable=False)
14+
content_type = Column(String(100), nullable=False)
1415
created_at = Column(TIMESTAMP, nullable=False, server_default=text('CURRENT_TIMESTAMP'))
16+
17+
# ✅ 관계
18+
user = relationship("User", back_populates="files")
19+
folder = relationship("Folder", back_populates="files")
20+
note = relationship("Note", back_populates="files")

models/folder.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from sqlalchemy import Column, Integer, String, ForeignKey, TIMESTAMP, text
2+
from sqlalchemy.orm import relationship
23
from .base import Base
34

45
class Folder(Base):
@@ -12,3 +13,9 @@ class Folder(Base):
1213
updated_at = Column(TIMESTAMP, nullable=False,
1314
server_default=text('CURRENT_TIMESTAMP'),
1415
onupdate=text('CURRENT_TIMESTAMP'))
16+
17+
# ✅ 관계
18+
user = relationship("User", back_populates="folders")
19+
parent = relationship("Folder", remote_side=[id], backref="children")
20+
notes = relationship("Note", back_populates="folder", cascade="all, delete")
21+
files = relationship("File", back_populates="folder", cascade="all, delete")

models/note.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from sqlalchemy import Column, Integer, String, Text, Boolean, ForeignKey, TIMESTAMP, text
2+
from sqlalchemy.orm import relationship
23
from .base import Base
34

45
class Note(Base):
@@ -15,3 +16,8 @@ class Note(Base):
1516
updated_at = Column(TIMESTAMP, nullable=False,
1617
server_default=text('CURRENT_TIMESTAMP'),
1718
onupdate=text('CURRENT_TIMESTAMP'))
19+
20+
# ✅ 관계
21+
user = relationship("User", back_populates="notes")
22+
folder = relationship("Folder", back_populates="notes")
23+
files = relationship("File", back_populates="note", cascade="all, delete")

models/user.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from sqlalchemy import Column, Integer, String, Enum, TIMESTAMP, text
2+
from sqlalchemy.orm import relationship
23
from .base import Base
34

45
class User(Base):
@@ -9,11 +10,16 @@ class User(Base):
910
email = Column(String(150), nullable=False, unique=True)
1011
password = Column(String(255), nullable=False)
1112
provider = Column(
12-
Enum('local','google','kakao','naver', name='provider_enum'),
13-
nullable=False,
14-
server_default=text("'local'")
15-
)
13+
Enum('local','google','kakao','naver', name='provider_enum'),
14+
nullable=False,
15+
server_default=text("'local'")
16+
)
1617
created_at = Column(TIMESTAMP, nullable=False, server_default=text('CURRENT_TIMESTAMP'))
1718
updated_at = Column(TIMESTAMP, nullable=False,
1819
server_default=text('CURRENT_TIMESTAMP'),
1920
onupdate=text('CURRENT_TIMESTAMP'))
21+
22+
# ✅ 관계
23+
folders = relationship("Folder", back_populates="user", cascade="all, delete")
24+
notes = relationship("Note", back_populates="user", cascade="all, delete")
25+
files = relationship("File", back_populates="user", cascade="all, delete")

0 commit comments

Comments
 (0)