12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- from typing import List, Optional
- from sqlalchemy import Column, Float, ForeignKey, Integer, String, TIMESTAMP, Table, Text, text
- from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship
- import datetime
- class Base(DeclarativeBase):
- pass
- class Datasets(Base):
- __tablename__ = 'Datasets'
- Dataset_name: Mapped[str] = mapped_column(Text)
- Row_count: Mapped[int] = mapped_column(Integer)
- Dataset_type: Mapped[str] = mapped_column(Text)
- Dataset_ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
- Dataset_description: Mapped[Optional[str]] = mapped_column(Text)
- Uploaded_at: Mapped[Optional[datetime.datetime]] = mapped_column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'))
- Status: Mapped[Optional[str]] = mapped_column(Text, server_default=text("'pending'"))
- class Models(Base):
- __tablename__ = 'Models'
- ModelID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
- Model_name: Mapped[str] = mapped_column(Text, nullable=False)
- Model_type: Mapped[str] = mapped_column(Text, nullable=False)
- Created_at: Mapped[Optional[datetime.datetime]] = mapped_column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'))
- Description: Mapped[Optional[str]] = mapped_column(Text)
- DatasetID: Mapped[Optional[int]] = mapped_column(Integer, ForeignKey('Datasets.Dataset_ID'))
- ModelFilePath: Mapped[Optional[str]] = mapped_column(Text)
- Data_type: Mapped[Optional[str]] = mapped_column(Text)
- Performance_score: Mapped[Optional[float]] = mapped_column(Float)
- # 新增评分指标字段
- MAE: Mapped[Optional[float]] = mapped_column(Float)
- RMSE: Mapped[Optional[float]] = mapped_column(Float)
- CV_score: Mapped[Optional[float]] = mapped_column(Float)
- ModelParameters: Mapped[List['ModelParameters']] = relationship('ModelParameters', back_populates='Models_')
- class CurrentReduce(Base):
- __tablename__ = 'current_reduce'
- id: Mapped[int] = mapped_column(Integer, primary_key=True)
- Q_over_b: Mapped[float] = mapped_column(Float)
- pH: Mapped[float] = mapped_column(Float)
- OM: Mapped[float] = mapped_column(Float)
- CL: Mapped[float] = mapped_column(Float)
- H: Mapped[float] = mapped_column(Float)
- Al: Mapped[float] = mapped_column(Float)
- class CurrentReflux(Base):
- __tablename__ = 'current_reflux'
- id: Mapped[int] = mapped_column(Integer, primary_key=True)
- OM: Mapped[float] = mapped_column(Float)
- CL: Mapped[float] = mapped_column(Float)
- CEC: Mapped[float] = mapped_column(Float)
- H_plus: Mapped[float] = mapped_column(Float)
- N: Mapped[float] = mapped_column(Float)
- Al3_plus: Mapped[float] = mapped_column(Float)
- Delta_pH: Mapped[float] = mapped_column(Float)
- class ModelParameters(Base):
- __tablename__ = 'ModelParameters'
- ParamID: Mapped[int] = mapped_column(Integer, primary_key=True)
- ModelID: Mapped[int] = mapped_column(ForeignKey('Models.ModelID'))
- ParamName: Mapped[str] = mapped_column(Text)
- ParamValue: Mapped[str] = mapped_column(Text)
- Models_: Mapped['Models'] = relationship('Models', back_populates='ModelParameters')
|