using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations.Operations; using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders; using Oqtane.Databases.Interfaces; namespace Oqtane.Migrations.EntityBuilders { public class SearchContentEntityBuilder : BaseEntityBuilder { private const string _entityTableName = "SearchContent"; private readonly PrimaryKey _primaryKey = new("PK_SearchContent", x => x.SearchContentId); public SearchContentEntityBuilder(MigrationBuilder migrationBuilder, IDatabase database) : base(migrationBuilder, database) { EntityTableName = _entityTableName; PrimaryKey = _primaryKey; } protected override SearchContentEntityBuilder BuildTable(ColumnsBuilder table) { SearchContentId = AddAutoIncrementColumn(table, "SearchContentId"); SiteId = AddIntegerColumn(table, "SiteId"); EntityName = AddStringColumn(table, "EntityName", 50); EntityId = AddIntegerColumn(table, "EntityId"); Title = AddStringColumn(table, "Title", 200); Description = AddMaxStringColumn(table, "Description"); Body = AddMaxStringColumn(table, "Body"); Url = AddStringColumn(table, "Url", 500); Permissions = AddStringColumn(table, "Permissions", 100); ContentModifiedBy = AddStringColumn(table, "ContentModifiedBy", 256); ContentModifiedOn = AddDateTimeColumn(table, "ContentModifiedOn"); AdditionalContent = AddMaxStringColumn(table, "AdditionalContent"); CreatedOn = AddDateTimeColumn(table, "CreatedOn"); return this; } public OperationBuilder SearchContentId { get; private set; } public OperationBuilder SiteId { get; private set; } public OperationBuilder EntityName { get; private set; } public OperationBuilder EntityId { get; private set; } public OperationBuilder Title { get; private set; } public OperationBuilder Description { get; private set; } public OperationBuilder Body { get; private set; } public OperationBuilder Url { get; private set; } public OperationBuilder Permissions { get; private set; } public OperationBuilder ContentModifiedBy { get; private set; } public OperationBuilder ContentModifiedOn { get; private set; } public OperationBuilder AdditionalContent { get; private set; } public OperationBuilder CreatedOn { get; private set; } } }