Add project files.
This commit is contained in:
30
Server/Migrations/01000000_InitializeModule.cs
Normal file
30
Server/Migrations/01000000_InitializeModule.cs
Normal file
@ -0,0 +1,30 @@
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Oqtane.Databases.Interfaces;
|
||||
using Oqtane.Migrations;
|
||||
using AdamGais.Module.AnmeldeTool.Migrations.EntityBuilders;
|
||||
using AdamGais.Module.AnmeldeTool.Repository;
|
||||
|
||||
namespace AdamGais.Module.AnmeldeTool.Migrations
|
||||
{
|
||||
[DbContext(typeof(AnmeldeToolContext))]
|
||||
[Migration("AdamGais.Module.AnmeldeTool.01.00.00.00")]
|
||||
public class InitializeModule : MultiDatabaseMigration
|
||||
{
|
||||
public InitializeModule(IDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
var entityBuilder = new AnmeldeToolEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
entityBuilder.Create();
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
var entityBuilder = new AnmeldeToolEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
entityBuilder.Drop();
|
||||
}
|
||||
}
|
||||
}
|
36
Server/Migrations/EntityBuilders/AnmeldeToolEntityBuilder.cs
Normal file
36
Server/Migrations/EntityBuilders/AnmeldeToolEntityBuilder.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Migrations.Operations;
|
||||
using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders;
|
||||
using Oqtane.Databases.Interfaces;
|
||||
using Oqtane.Migrations;
|
||||
using Oqtane.Migrations.EntityBuilders;
|
||||
|
||||
namespace AdamGais.Module.AnmeldeTool.Migrations.EntityBuilders
|
||||
{
|
||||
public class AnmeldeToolEntityBuilder : AuditableBaseEntityBuilder<AnmeldeToolEntityBuilder>
|
||||
{
|
||||
private const string _entityTableName = "AdamGaisAnmeldeTool";
|
||||
private readonly PrimaryKey<AnmeldeToolEntityBuilder> _primaryKey = new("PK_AdamGaisAnmeldeTool", x => x.AnmeldeToolId);
|
||||
private readonly ForeignKey<AnmeldeToolEntityBuilder> _moduleForeignKey = new("FK_AdamGaisAnmeldeTool_Module", x => x.ModuleId, "Module", "ModuleId", ReferentialAction.Cascade);
|
||||
|
||||
public AnmeldeToolEntityBuilder(MigrationBuilder migrationBuilder, IDatabase database) : base(migrationBuilder, database)
|
||||
{
|
||||
EntityTableName = _entityTableName;
|
||||
PrimaryKey = _primaryKey;
|
||||
ForeignKeys.Add(_moduleForeignKey);
|
||||
}
|
||||
|
||||
protected override AnmeldeToolEntityBuilder BuildTable(ColumnsBuilder table)
|
||||
{
|
||||
AnmeldeToolId = AddAutoIncrementColumn(table,"AnmeldeToolId");
|
||||
ModuleId = AddIntegerColumn(table,"ModuleId");
|
||||
Name = AddMaxStringColumn(table,"Name");
|
||||
AddAuditableColumns(table);
|
||||
return this;
|
||||
}
|
||||
|
||||
public OperationBuilder<AddColumnOperation> AnmeldeToolId { get; set; }
|
||||
public OperationBuilder<AddColumnOperation> ModuleId { get; set; }
|
||||
public OperationBuilder<AddColumnOperation> Name { get; set; }
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user