< Summary

Information
Class: Elsa.Persistence.VNext.Builders.PersistenceTableBuilder
Assembly: Elsa.Persistence.VNext
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.VNext/Builders/PersistenceTableBuilder.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 12
Coverable lines: 12
Total lines: 41
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%210%
Column(...)100%210%
RequiredColumn(...)100%210%
PrimaryKey(...)100%210%
Index(...)100%210%
Index(...)100%210%
Build()100%210%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.VNext/Builders/PersistenceTableBuilder.cs

#LineLine coverage
 1namespace Elsa.Persistence.VNext.Builders;
 2
 03public class PersistenceTableBuilder(string name, string? schema)
 4{
 05    private readonly List<PersistenceColumn> _columns = [];
 06    private readonly List<PersistenceIndex> _indexes = [];
 7    private PersistencePrimaryKey? _primaryKey;
 8
 9    public PersistenceTableBuilder Column(string name, PersistenceColumnType type, bool nullable = true, int? length = n
 10    {
 011        _columns.Add(new PersistenceColumn(name, type, nullable, length));
 012        return this;
 13    }
 14
 15    public PersistenceTableBuilder RequiredColumn(string name, PersistenceColumnType type, int? length = null)
 16    {
 017        return Column(name, type, false, length);
 18    }
 19
 20    public PersistenceTableBuilder PrimaryKey(string name, params string[] columns)
 21    {
 022        _primaryKey = new PersistencePrimaryKey(name, columns.ToList());
 023        return this;
 24    }
 25
 26    public PersistenceTableBuilder Index(string name, string column, bool unique = false)
 27    {
 028        return Index(name, [column], unique);
 29    }
 30
 31    public PersistenceTableBuilder Index(string name, IReadOnlyList<string> columns, bool unique = false)
 32    {
 033        _indexes.Add(new PersistenceIndex(name, columns.ToList(), unique));
 034        return this;
 35    }
 36
 37    public PersistenceTable Build()
 38    {
 039        return new PersistenceTable(Name: name, Schema: schema, Columns: _columns.ToList(), PrimaryKey: _primaryKey, Ind
 40    }
 41}