app_settings bekommt power_use_enabled (Master-Schalter, wird im Usage-Monitor gesetzt) und list_handler_max_handoffs (Default 4 = zwei Merge-Runden). list_config bekommt power_use_allowed als Opt-in pro Liste. Ein Handler-Run laeuft nur unbeaufsichtigt, wenn BEIDE Schalter gesetzt sind. Damit kann der globale Schalter ueber Nacht an bleiben, ohne dass der Handler einer nicht zugestimmten Liste sein Verhalten aendert. UpdateListConfigDto.PowerUseAllowed ist bewusst bool? (tri-state, null = gespeicherten Wert behalten), analog zu TicketProjectId: SetConfigAsync kopiert verbatim, ein non-nullable bool haette jedem fremden Writer erlaubt, das Opt-in per Auslassung zu widerrufen. Der Test dazu nagelt genau das fest. Migration ist drei reine ALTER TABLE ADD COLUMN, kein Table-Rebuild.
59 lines
1.7 KiB
C#
59 lines
1.7 KiB
C#
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace ClaudeDo.Data.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class AddPowerUse : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.AddColumn<bool>(
|
|
name: "power_use_allowed",
|
|
table: "list_config",
|
|
type: "INTEGER",
|
|
nullable: false,
|
|
defaultValue: false);
|
|
|
|
migrationBuilder.AddColumn<int>(
|
|
name: "list_handler_max_handoffs",
|
|
table: "app_settings",
|
|
type: "INTEGER",
|
|
nullable: false,
|
|
defaultValue: 4);
|
|
|
|
migrationBuilder.AddColumn<bool>(
|
|
name: "power_use_enabled",
|
|
table: "app_settings",
|
|
type: "INTEGER",
|
|
nullable: false,
|
|
defaultValue: false);
|
|
|
|
migrationBuilder.UpdateData(
|
|
table: "app_settings",
|
|
keyColumn: "id",
|
|
keyValue: 1,
|
|
column: "list_handler_max_handoffs",
|
|
value: 4);
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropColumn(
|
|
name: "power_use_allowed",
|
|
table: "list_config");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "list_handler_max_handoffs",
|
|
table: "app_settings");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "power_use_enabled",
|
|
table: "app_settings");
|
|
}
|
|
}
|
|
}
|