8fc3bbb11ff3_add_effcd_input_table.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. """add_EffCd_input_table
  2. Revision ID: 8fc3bbb11ff3
  3. Revises: 8c6fa8b41084
  4. Create Date: 2025-07-12 00:54:33.453443
  5. """
  6. from alembic import op
  7. import sqlalchemy as sa
  8. # revision identifiers, used by Alembic.
  9. revision = '8fc3bbb11ff3'
  10. down_revision = '8c6fa8b41084'
  11. branch_labels = None
  12. depends_on = None
  13. def upgrade():
  14. """升级数据库到当前版本"""
  15. # ### commands auto generated by Alembic - please adjust! ###
  16. op.create_table('EffCd_input_data',
  17. sa.Column('ID', sa.Integer(), autoincrement=True, nullable=False, comment='主键ID'),
  18. sa.Column('Farmland_ID', sa.Integer(), nullable=False),
  19. sa.Column('Sample_ID', sa.Integer(), nullable=False),
  20. sa.Column('OC-Fe_0-30', sa.Float(), nullable=True, comment='土壤铁结合态有机碳(g/kg)'),
  21. sa.Column('002_0002IDW', sa.Float(), nullable=True, comment='粉粒组分(0.002~0.02mm)质量占比[%]'),
  22. sa.Column('02_002IDW', sa.Float(), nullable=True, comment='砂粒组分(0.02~0.2mm)质量占比[%]'),
  23. sa.Column('2_02IDW', sa.Float(), nullable=True, comment='石砾组分(>2mm)质量占比[%]'),
  24. sa.Column('AvaK_IDW', sa.Float(), nullable=True, comment='速效钾(mg/kg)'),
  25. sa.Column('AvaP_IDW', sa.Float(), nullable=True, comment='有效磷(mg/kg)'),
  26. sa.Column('EC_IDW', sa.Float(), nullable=True, comment='电导率(mS/cm)'),
  27. sa.Column('SAvaK_IDW', sa.Float(), nullable=True, comment='缓效钾(mg/kg)'),
  28. sa.Column('TAl_IDW', sa.Float(), nullable=True, comment='全铝含量(%)'),
  29. sa.Column('TCa_IDW', sa.Float(), nullable=True, comment='全钙含量(%)'),
  30. sa.Column('TCd_IDW', sa.Float(), nullable=True, comment='总镉含量(mg/kg)'),
  31. sa.Column('TEB_IDW', sa.Float(), nullable=True, comment='水溶性盐总量(mg/L)'),
  32. sa.Column('TExH_IDW', sa.Float(), nullable=True, comment='交换性酸总量[cmol/kg]'),
  33. sa.Column('TFe_IDW', sa.Float(), nullable=True, comment='全铁含量(%)'),
  34. sa.Column('TK_IDW', sa.Float(), nullable=True, comment='全钾含量(g/kg)'),
  35. sa.Column('TMg_IDW', sa.Float(), nullable=True, comment='全镁含量(%)'),
  36. sa.Column('TMn_IDW', sa.Float(), nullable=True, comment='全锰含量(mg/kg)'),
  37. sa.Column('TN_IDW', sa.Float(), nullable=True, comment='全氮含量(g/kg)'),
  38. sa.Column('TP_IDW', sa.Float(), nullable=True, comment='全磷含量(g/kg)'),
  39. sa.Column('TS_IDW', sa.Float(), nullable=True, comment='全硫含量(g/kg)'),
  40. sa.Column('Cdsolution', sa.Float(), nullable=True, comment='LN(POR_Layer/bd020_90 * 112000*Cd.solution)'),
  41. sa.ForeignKeyConstraint(['Farmland_ID', 'Sample_ID'], ['Farmland_data.Farmland_ID', 'Farmland_data.Sample_ID'], ),
  42. sa.PrimaryKeyConstraint('ID'),
  43. comment='有效态镉预测模型输入数据'
  44. )
  45. # ### end Alembic commands ###
  46. def downgrade():
  47. """将数据库降级到上一版本"""
  48. # ### commands auto generated by Alembic - please adjust! ###
  49. op.drop_table('EffCd_input_data')
  50. # ### end Alembic commands ###