45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace DramaLing.Api.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class AddEnglishLevelNumeric : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.AddColumn<int>(
|
|
name: "english_level_numeric",
|
|
table: "user_profiles",
|
|
type: "INTEGER",
|
|
nullable: false,
|
|
defaultValue: 2);
|
|
|
|
// 轉換現有資料:將字串格式的 english_level 轉換為數字格式
|
|
migrationBuilder.Sql(@"
|
|
UPDATE user_profiles
|
|
SET english_level_numeric =
|
|
CASE english_level
|
|
WHEN 'A1' THEN 1
|
|
WHEN 'A2' THEN 2
|
|
WHEN 'B1' THEN 3
|
|
WHEN 'B2' THEN 4
|
|
WHEN 'C1' THEN 5
|
|
WHEN 'C2' THEN 6
|
|
ELSE 2 -- 預設 A2
|
|
END
|
|
");
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropColumn(
|
|
name: "english_level_numeric",
|
|
table: "user_profiles");
|
|
}
|
|
}
|
|
}
|