using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Oqtane.Databases.Interfaces; using Oqtane.Migrations; using SZUAbsolventenverein.Module.AdminModules.Migrations.EntityBuilders; using SZUAbsolventenverein.Module.AdminModules.Repository; using SZUAbsolventenverein.Module.AdminModules.Server.Migrations.EntityBuilders; namespace SZUAbsolventenverein.Module.AdminModules.Migrations { [DbContext(typeof(AdminModulesContext))] [Migration("SZUAbsolventenverein.Module.AdminModules.01.00.00.00")] public class InitializeModule : MultiDatabaseMigration { public InitializeModule(IDatabase database) : base(database) { } protected override void Up(MigrationBuilder migrationBuilder) { var massMailingTemplateEntityBuilder = new MassMailingTemplateEntityBuilder(migrationBuilder, ActiveDatabase); massMailingTemplateEntityBuilder.Create(); var adminSettingsEntityBuilder = new AdminSettingsEntityBuilder(migrationBuilder, ActiveDatabase); adminSettingsEntityBuilder.Create(); // Eine AdminSettings Zeile erstellen, damit die Werte nachher bearbeitet werden können. migrationBuilder.Sql("INSERT INTO SZUAbsolventenvereinAdminSettings VALUES (1, 1, 'host', time('now'), 'host', time('now'))"); } protected override void Down(MigrationBuilder migrationBuilder) { var entityBuilder = new MassMailingTemplateEntityBuilder(migrationBuilder, ActiveDatabase); entityBuilder.Drop(); var adminSettingsEntityBuilder = new AdminSettingsEntityBuilder(migrationBuilder, ActiveDatabase); adminSettingsEntityBuilder.Drop(); } } }