допустим, у меня есть эти две таблицы, и предположим, что у меня будут миллионы строк данных и мне действительно потребуется секционирование. р>
Код: Выделить всё
from sqlmodel import Field, SQLModel, create_engine, Session
from typing import Optional
#Table (A)
class A(SQLModel, table=True):
id: int = Field(primary_key=True)
name: str
created_at: Optional[datetime] = Field(default_factory=lambda: datetime.now(timezone.utc))
# Table B with foreign key
class B(SQLModel, table=True):
id: int = Field(primary_key=True)
a_id: int = Field(foreign_key="A.id")
description: str
created_at: Optional[datetime] = Field(default_factory=lambda: datetime.now(timezone.utc))
Я проверяю разные разговоры, например:
- Как обрабатывать внешний ключ при разбиении — этот разговор довольно старый, и мне интересно, почему до сих пор нет решения для это
- Действительно ли внешние ключи необходимы при проектировании базы данных? —
и дошел до этого противоречия, что мне нужен внешний ключ, и разделение, хотя не может иметь и то, и другое
Подробнее здесь: https://stackoverflow.com/questions/793 ... key-in-sql
Мобильная версия