7b0b9c7365
Solution + 23 src projects + 26 test projects renamed; folders, csproj, namespaces, and ScadaLinkDbContext/ScadaBridgeDbContext class updated. ActorSystem "scadalink" → "scadabridge", Akka seed-node URLs migrated. SQL roles/logins, LDAP domains, CLI command name, and CLI config dir (~/.scadalink → ~/.scadabridge) also renamed. Build green; 5 Host.Tests fail awaiting SQL login rename in next commit. Pre-existing StaleTagMonitor timing flakes unchanged. Rename script committed at tools/rename-to-scadabridge.sh.
97 lines
3.1 KiB
C#
97 lines
3.1 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
|
using ZB.MOM.WW.ScadaBridge.Commons.Entities.Deployment;
|
|
using ZB.MOM.WW.ScadaBridge.Commons.Entities.Instances;
|
|
|
|
namespace ZB.MOM.WW.ScadaBridge.ConfigurationDatabase.Configurations;
|
|
|
|
public class DeploymentRecordConfiguration : IEntityTypeConfiguration<DeploymentRecord>
|
|
{
|
|
/// <summary>Configures the EF Core mapping for <see cref="DeploymentRecord"/>.</summary>
|
|
/// <param name="builder">The entity type builder.</param>
|
|
public void Configure(EntityTypeBuilder<DeploymentRecord> builder)
|
|
{
|
|
builder.HasKey(d => d.Id);
|
|
|
|
builder.Property(d => d.DeploymentId)
|
|
.IsRequired()
|
|
.HasMaxLength(100);
|
|
|
|
builder.Property(d => d.RevisionHash)
|
|
.HasMaxLength(100);
|
|
|
|
builder.Property(d => d.DeployedBy)
|
|
.IsRequired()
|
|
.HasMaxLength(200);
|
|
|
|
builder.Property(d => d.Status)
|
|
.HasConversion<string>()
|
|
.HasMaxLength(50);
|
|
|
|
builder.HasOne<Instance>()
|
|
.WithMany()
|
|
.HasForeignKey(d => d.InstanceId)
|
|
.OnDelete(DeleteBehavior.Restrict);
|
|
|
|
// Optimistic concurrency on deployment status records
|
|
builder.Property<byte[]>("RowVersion")
|
|
.IsRowVersion();
|
|
|
|
builder.HasIndex(d => d.DeploymentId).IsUnique();
|
|
builder.HasIndex(d => d.InstanceId);
|
|
builder.HasIndex(d => d.DeployedAt);
|
|
}
|
|
}
|
|
|
|
public class DeployedConfigSnapshotConfiguration : IEntityTypeConfiguration<DeployedConfigSnapshot>
|
|
{
|
|
/// <summary>Configures the EF Core mapping for <see cref="DeployedConfigSnapshot"/>.</summary>
|
|
/// <param name="builder">The entity type builder.</param>
|
|
public void Configure(EntityTypeBuilder<DeployedConfigSnapshot> builder)
|
|
{
|
|
builder.HasKey(s => s.Id);
|
|
|
|
builder.Property(s => s.DeploymentId)
|
|
.IsRequired()
|
|
.HasMaxLength(100);
|
|
|
|
builder.Property(s => s.RevisionHash)
|
|
.IsRequired()
|
|
.HasMaxLength(100);
|
|
|
|
builder.Property(s => s.ConfigurationJson)
|
|
.IsRequired();
|
|
|
|
builder.HasOne<Instance>()
|
|
.WithMany()
|
|
.HasForeignKey(s => s.InstanceId)
|
|
.OnDelete(DeleteBehavior.Cascade);
|
|
|
|
builder.HasIndex(s => s.InstanceId).IsUnique();
|
|
builder.HasIndex(s => s.DeploymentId);
|
|
}
|
|
}
|
|
|
|
public class SystemArtifactDeploymentRecordConfiguration : IEntityTypeConfiguration<SystemArtifactDeploymentRecord>
|
|
{
|
|
/// <summary>Configures the EF Core mapping for <see cref="SystemArtifactDeploymentRecord"/>.</summary>
|
|
/// <param name="builder">The entity type builder.</param>
|
|
public void Configure(EntityTypeBuilder<SystemArtifactDeploymentRecord> builder)
|
|
{
|
|
builder.HasKey(d => d.Id);
|
|
|
|
builder.Property(d => d.ArtifactType)
|
|
.IsRequired()
|
|
.HasMaxLength(100);
|
|
|
|
builder.Property(d => d.DeployedBy)
|
|
.IsRequired()
|
|
.HasMaxLength(200);
|
|
|
|
builder.Property(d => d.PerSiteStatus)
|
|
.HasMaxLength(4000);
|
|
|
|
builder.HasIndex(d => d.DeployedAt);
|
|
}
|
|
}
|