981f62cc2cdb_add_atmo_sample_table.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. """add_atmo_sample_table
  2. Revision ID: 981f62cc2cdb
  3. Revises: f4e275af56c7
  4. Create Date: 2025-07-12 01:23:24.811627
  5. """
  6. from alembic import op
  7. import sqlalchemy as sa
  8. # revision identifiers, used by Alembic.
  9. revision = '981f62cc2cdb'
  10. down_revision = 'f4e275af56c7'
  11. branch_labels = None
  12. depends_on = None
  13. def upgrade():
  14. """升级数据库到当前版本"""
  15. # ### commands auto generated by Alembic - please adjust! ###
  16. op.create_table('Atmo_sample_data',
  17. sa.Column('ID', sa.String(length=50), nullable=False, comment='采样点ID'),
  18. sa.Column('longitude', sa.Float(), nullable=True, comment='经度坐标(精确到小数点后六位)'),
  19. sa.Column('latitude', sa.Float(), nullable=True, comment='纬度坐标(精确到小数点后六位)'),
  20. sa.Column('sampling_location', sa.String(length=100), nullable=True, comment='采样地点'),
  21. sa.Column('start_time', sa.String(length=20), nullable=True, comment='采样开始时间(精确到秒)'),
  22. sa.Column('end_time', sa.String(length=20), nullable=True, comment='采样结束时间(精确到秒)'),
  23. sa.Column('cumulative_time', sa.String(length=10), nullable=True, comment='累计采样时长'),
  24. sa.Column('average_flow_rate', sa.Float(), nullable=True, comment='平均流量(L/min)'),
  25. sa.Column('cumulative_true_volume', sa.Float(), nullable=True, comment='实况采样体积(L)'),
  26. sa.Column('cumulative_standard_volume', sa.Float(), nullable=True, comment='标准采样体积(L)'),
  27. sa.Column('sample_type', sa.String(length=50), nullable=True, comment='样品类型'),
  28. sa.Column('sample_name', sa.String(length=50), nullable=True, comment='样品名称'),
  29. sa.Column('Cr_particulate', sa.Float(), nullable=True, comment='Cr含量(mg/kg)'),
  30. sa.Column('As_particulate', sa.Float(), nullable=True, comment='As含量(mg/kg)'),
  31. sa.Column('Cd_particulate', sa.Float(), nullable=True, comment='Cd含量(mg/kg)'),
  32. sa.Column('Hg_particulate', sa.Float(), nullable=True, comment='Hg含量(mg/kg)'),
  33. sa.Column('Pb_particulate', sa.Float(), nullable=True, comment='Pb含量(mg/kg)'),
  34. sa.Column('particle_weight', sa.Float(), nullable=True, comment='颗粒物重量(mg)'),
  35. sa.Column('standard_volume', sa.Float(), nullable=True, comment='标准体积(m³)'),
  36. sa.Column('particle_concentration', sa.Float(), nullable=True, comment='颗粒物浓度(μg/m³)'),
  37. sa.Column('sample_code', sa.String(length=20), nullable=True, comment='样品编码'),
  38. sa.Column('temperature', sa.Float(), nullable=True, comment='温度(℃)'),
  39. sa.Column('pressure', sa.Float(), nullable=True, comment='气压(kPa)'),
  40. sa.Column('humidity', sa.Float(), nullable=True, comment='湿度(%)'),
  41. sa.Column('wind_speed', sa.Float(), nullable=True, comment='风速(m/s)'),
  42. sa.Column('wind_direction', sa.String(length=20), nullable=True, comment='风向'),
  43. sa.PrimaryKeyConstraint('ID')
  44. )
  45. # ### end Alembic commands ###
  46. def downgrade():
  47. """将数据库降级到上一版本"""
  48. # ### commands auto generated by Alembic - please adjust! ###
  49. op.drop_table('Atmo_sample_data')
  50. # ### end Alembic commands ###