切换后,其他学期自动变为历史态;已归档学期进一步弱化。所有主要学期选择器统一默认当前,并显示“当前 / 历史 / 已归档”。[academicTerms.ts (line 1)](/E:/jiaowu/web/src/utils/academicTerms.ts:1) 桌面使用分层表格,390px 手机端改为独立学期卡片,操作不会再挤压表格。[BaseDataView.vue (line 211)](/E:/jiaowu/web/src/views/BaseDataView.vue:211) 归档定义为“历史显示状态”,不是成绩冻结:补考成绩仍可录入并回写,已发布成绩仍可走成绩更正审批。 已加入 SQLite 开发迁移、MySQL 正式迁移和切换/归档/撤销测试。[20260726143000_AcademicTermArchiving.cs (line 1)](/E:/jiaowu/src/Jiaowu.Api/Infrastructure/Persistence/Migrations/MySql/20260726143000_AcademicTermArchiving.cs:1)
49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
using Jiaowu.Api.Infrastructure.Persistence;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace Jiaowu.Api.Infrastructure.Persistence.Migrations.MySql;
|
|
|
|
[DbContext(typeof(AppDbContext))]
|
|
[Migration("20260726143000_AcademicTermArchiving")]
|
|
public partial class AcademicTermArchiving : Migration
|
|
{
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.AddColumn<DateTime>(
|
|
name: "ArchivedAt",
|
|
table: "AcademicTerms",
|
|
type: "datetime(6)",
|
|
nullable: true);
|
|
|
|
migrationBuilder.AddColumn<bool>(
|
|
name: "IsArchived",
|
|
table: "AcademicTerms",
|
|
type: "tinyint(1)",
|
|
nullable: false,
|
|
defaultValue: false);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_AcademicTerms_IsArchived",
|
|
table: "AcademicTerms",
|
|
column: "IsArchived");
|
|
}
|
|
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropIndex(
|
|
name: "IX_AcademicTerms_IsArchived",
|
|
table: "AcademicTerms");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "ArchivedAt",
|
|
table: "AcademicTerms");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "IsArchived",
|
|
table: "AcademicTerms");
|
|
}
|
|
}
|