Files
Umbraco-CMS/src/Umbraco.Infrastructure/Persistence/UmbracoPocoDataBuilder.cs
Nikolaj Geisle 80c74968ef Updated UmbracoPocoDataBuilder.cs
Signed-off-by: Nikolaj Geisle <niko737@edu.ucl.dk>
2021-10-05 13:48:42 +02:00

32 lines
1.3 KiB
C#

using System;
using NPoco;
namespace Umbraco.Cms.Infrastructure.Persistence
{
/// <summary>
/// Umbraco's implementation of NPoco <see cref="PocoDataBuilder"/>.
/// </summary>
/// <remarks>
/// <para>NPoco PocoDataBuilder analyzes DTO classes and returns infos about the tables and
/// their columns.</para>
/// <para>In some very special occasions, a class may expose a column that we do not want to
/// use. This is essentially when adding a column to the User table: if the code wants the
/// column to exist, and it does not exist yet in the database, because a given migration has
/// not run, then the user cannot log into the site, and cannot upgrade = catch 22.</para>
/// <para>So far, this is very manual. We don't try to be clever and figure out whether the
/// columns exist already. We just ignore it.</para>
/// <para>Beware, the application MUST restart when this class behavior changes.</para>
/// <para>You can override the GetColmunnInfo method to control which columns this includes</para>
/// </remarks>
internal class UmbracoPocoDataBuilder : PocoDataBuilder
{
private readonly bool _upgrading;
public UmbracoPocoDataBuilder(Type type, MapperCollection mapper, bool upgrading)
: base(type, mapper)
{
_upgrading = upgrading;
}
}
}