test-entity #6

Merged
maxim merged 11 commits from test-entity into main 2024-11-24 13:45:06 +04:00
Showing only changes of commit 65b90f9636 - Show all commits

View File

@ -1,6 +1,7 @@
from datetime import datetime
from sqlalchemy.orm import Mapped, mapped_column, DeclarativeBase
from sqlalchemy import Integer, ForeignKey, String
from sqlalchemy.orm import Mapped, mapped_column, DeclarativeBase, relationship
from sqlalchemy.dialects.mysql import TIMESTAMP, TIME, VARCHAR
@ -34,3 +35,32 @@ class Weather(Base):
WindSpeed: Mapped[float]
WindSpeed10Min: Mapped[float]
class WindTurbineType(Base):
__tablename__ = 'wind_turbine_type'
Id: Mapped[int] = mapped_column(primary_key=True)
Name: Mapped[str] = mapped_column(VARCHAR(255))
Height: Mapped[float]
BladeLength: Mapped[float]
class WindPark(Base):
__tablename__ = 'wind_park'
Id: Mapped[int] = mapped_column(primary_key=True)
Name: Mapped[str] = mapped_column(VARCHAR(255))
CenterLatitude: Mapped[float]
CenterLongitude: Mapped[float]
class WindParkTurbine(Base):
__tablename__ = 'wind_park_turbine'
wind_park_id: Mapped[int] = mapped_column(Integer, ForeignKey('wind_park.id'), primary_key=True)
turbine_id: Mapped[int] = mapped_column(Integer, ForeignKey('wind_turbine_type.id'), primary_key=True)
x_offset: Mapped[int] = mapped_column(Integer, nullable=False)
y_offset: Mapped[int] = mapped_column(Integer, nullable=False)
angle: Mapped[int] = mapped_column(Integer, nullable=True)
comment: Mapped[str] = mapped_column(String(2000), nullable=True)
# Связи с другими таблицами
wind_park: Mapped["WindPark"] = relationship("WindPark", back_populates="wind_park_turbines")
turbine: Mapped["WindTurbineType"] = relationship("WindTurbineType", back_populates="turbine_parks")