pavelbannov
18a2c0a53d
# Conflicts: # common/ASC.Core.Common/EF/Model/Audit/LoginEvents.cs # common/ASC.Core.Common/EF/Model/CRM/CrmContact.cs # common/ASC.Core.Common/EF/Model/CRM/DbVoipCall.cs # common/ASC.Core.Common/EF/Model/CRM/VoipNumber.cs # common/ASC.Core.Common/EF/Model/DbWebstudioIndex.cs # common/ASC.Core.Common/EF/Model/DbipLocation.cs # common/ASC.Core.Common/EF/Model/Feed/FeedAggregate.cs # common/ASC.Core.Common/EF/Model/Feed/FeedLast.cs # common/ASC.Core.Common/EF/Model/Mail/Mailbox.cs # common/ASC.Core.Common/EF/Model/Mail/ServerServer.cs # common/ASC.Core.Common/EF/Model/Notify/NotifyInfo.cs # common/ASC.Core.Common/EF/Model/Notify/NotifyQueue.cs # common/ASC.Core.Common/EF/Model/Resource/ResAuthors.cs # common/ASC.Core.Common/EF/Model/Resource/ResCultures.cs # common/ASC.Core.Common/EF/Model/Resource/ResData.cs # common/ASC.Core.Common/EF/Model/Resource/ResFiles.cs # common/ASC.Core.Common/EF/Model/Resource/ResReserve.cs # common/ASC.Core.Common/EF/Model/Tenant/DbTariff.cs # common/ASC.Core.Common/EF/Model/Tenant/DbTenantVersion.cs # common/ASC.Core.Common/EF/Model/Tenant/TenantIpRestrictions.cs # common/ASC.Core.Common/EF/Model/User/UserPhoto.cs # common/ASC.Core.Common/Migrations/MySql/CoreDbContextMySql/20201006100008_CoreDbContextMySql.cs # common/ASC.Core.Common/Migrations/MySql/CoreDbContextMySql/20210309093641_CoreDbContextMySql.Designer.cs # common/ASC.Core.Common/Migrations/MySql/CoreDbContextMySql/MySqlCoreDbContextModelSnapshot.cs # common/ASC.Core.Common/Migrations/MySql/TenantDbContextMySql/20201006101436_TenantDbContextMySql.Designer.cs # common/ASC.Core.Common/Migrations/MySql/TenantDbContextMySql/20201006101436_TenantDbContextMySql.cs # common/ASC.Core.Common/Migrations/MySql/TenantDbContextMySql/20210309095116_TenantDbContextMySql.Designer.cs # products/ASC.Files/Core/Core/EF/DbFilesTag.cs # products/ASC.Files/Core/Core/EF/FilesDbContext.cs
80 lines
2.7 KiB
C#
80 lines
2.7 KiB
C#
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace ASC.Core.Common.EF.Model
|
|
{
|
|
public class DbTenantVersion
|
|
{
|
|
public int Id { get; set; }
|
|
public string Version { get; set; }
|
|
public string Url { get; set; }
|
|
public int DefaultVersion { get; set; }
|
|
public bool Visible { get; set; }
|
|
}
|
|
public static class DbTenantVersionExtension
|
|
{
|
|
public static ModelBuilderWrapper AddDbTenantVersion(this ModelBuilderWrapper modelBuilder)
|
|
{
|
|
modelBuilder
|
|
.Add(MySqlAddDbTenantVersion, Provider.MySql)
|
|
.Add(PgSqlAddDbTenantVersion, Provider.Postgre);
|
|
return modelBuilder;
|
|
}
|
|
public static void MySqlAddDbTenantVersion(this ModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder.Entity<DbTenantVersion>(entity =>
|
|
{
|
|
entity.ToTable("tenants_version");
|
|
|
|
entity.Property(e => e.Id).HasColumnName("id");
|
|
|
|
entity.Property(e => e.DefaultVersion).HasColumnName("default_version");
|
|
|
|
entity.Property(e => e.Url)
|
|
.IsRequired()
|
|
.HasColumnName("url")
|
|
.HasColumnType("varchar(64)")
|
|
.HasCharSet("utf8")
|
|
.HasCollation("utf8_general_ci");
|
|
|
|
entity.Property(e => e.Version)
|
|
.IsRequired()
|
|
.HasColumnName("version")
|
|
.HasColumnType("varchar(64)")
|
|
.HasCharSet("utf8")
|
|
.HasCollation("utf8_general_ci");
|
|
|
|
entity.Property(e => e.Visible).HasColumnName("visible");
|
|
});
|
|
|
|
}
|
|
public static void PgSqlAddDbTenantVersion(this ModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder.Entity<DbTenantVersion>(entity =>
|
|
{
|
|
entity.ToTable("tenants_version", "onlyoffice");
|
|
|
|
entity.Property(e => e.Id)
|
|
.HasColumnName("id")
|
|
.ValueGeneratedNever();
|
|
|
|
entity.Property(e => e.DefaultVersion).HasColumnName("default_version");
|
|
|
|
entity.Property(e => e.Url)
|
|
.IsRequired()
|
|
.HasColumnName("url")
|
|
.HasMaxLength(64);
|
|
|
|
entity.Property(e => e.Version)
|
|
.IsRequired()
|
|
.HasColumnName("version")
|
|
.HasMaxLength(64);
|
|
|
|
entity.Property(e => e.Visible).HasColumnName("visible");
|
|
});
|
|
|
|
}
|
|
}
|
|
}
|