Class DataMigration
Data migration class performs data level modifications (change member type, migrate member, update member, rename member, delete member etc).
Inheritance
System.Object
DataMigration
Assembly: Eco.Core.dll
Syntax
public class DataMigration : InstanceMigration, IInstanceMigration, IReferenceMigration, IClassMigration, IMigration
Constructors
DataMigration(IEnumerable<String>)
Declaration
public DataMigration(IEnumerable<string> compatibleTypes)
Parameters
Type |
Name |
Description |
System.Collections.Generic.IEnumerable<System.String> |
compatibleTypes |
|
DataMigration(String)
Declaration
public DataMigration(string compatibleType)
Parameters
Type |
Name |
Description |
System.String |
compatibleType |
|
Methods
Declaration
public void AddMember(string memberName, IDataInput[] dependencies, Func<ReaderDataInput[], ReaderDataInput> addMember)
Parameters
Declaration
public void AddMember<TDst>(string memberName, IDataInput[] dependencies, Func<ReaderDataInput[], TDst> addMember)
Parameters
Type Parameters
Adds pre-condition for data migration. If pre-condition fails then migration will not be applied.
Declaration
public void AddPrecondition(IDataInput[] inputs, Predicate<object[]> predicate)
Parameters
Type |
Name |
Description |
IDataInput[] |
inputs |
|
System.Predicate<System.Object[]> |
predicate |
|
AddPrecondition(IEnumerable<String>, Predicate<Object[]>)
Adds pre-condition for data migration. If pre-condition fails then migration will not be applied.
Declaration
public void AddPrecondition(IEnumerable<string> argMembers, Predicate<object[]> predicate)
Parameters
Type |
Name |
Description |
System.Collections.Generic.IEnumerable<System.String> |
argMembers |
|
System.Predicate<System.Object[]> |
predicate |
|
AddPrecondition<T>(String, Predicate<T>)
Adds pre-condition for data migration. If pre-condition fails then migration will not be applied.
Declaration
public void AddPrecondition<T>(string memberName, Predicate<T> predicate)
Parameters
Type |
Name |
Description |
System.String |
memberName |
|
System.Predicate<T> |
predicate |
|
Type Parameters
Declaration
public void AddReferenceMember(string memberName, string memberSchemaType, IDataInput[] dependencies, Func<ReaderDataInput[], (string, int)> referenceGenerator)
Parameters
Type |
Name |
Description |
System.String |
memberName |
|
System.String |
memberSchemaType |
|
IDataInput[] |
dependencies |
|
System.Func<ReaderDataInput[], System.ValueTuple<System.String, System.Int32>> |
referenceGenerator |
|
ChangeMemberSchemaType(String, String, Boolean)
Declaration
public void ChangeMemberSchemaType(string memberName, string newSchemaType, bool skipIfMissing = false)
Parameters
Type |
Name |
Description |
System.String |
memberName |
|
System.String |
newSchemaType |
|
System.Boolean |
skipIfMissing |
|
ChangeSchemaType(String)
Changes class schema type to newSchemaType
. I.e. after all members converted you may decide to convert class itself to another type.
Declaration
public void ChangeSchemaType(string newSchemaType)
Parameters
Type |
Name |
Description |
System.String |
newSchemaType |
|
Initialize(MigrationManager)
Declaration
public override void Initialize(MigrationManager migrationManager)
Parameters
Overrides
Member(String)
Declaration
public MemberDataInput Member(string name)
Parameters
Type |
Name |
Description |
System.String |
name |
|
Returns
MigrateInstance(MigrationContext)
Declaration
public override void MigrateInstance(MigrationContext context)
Parameters
Overrides
MigrateMember(String, IMigration, Boolean)
Declaration
public void MigrateMember(string memberName, IMigration migration, bool skipIfMissing = false)
Parameters
Type |
Name |
Description |
System.String |
memberName |
|
IMigration |
migration |
|
System.Boolean |
skipIfMissing |
|
RenameMember(String, String, Boolean)
Declaration
public void RenameMember(string oldMemberName, string newMemberName, bool skipIfMissing = false)
Parameters
Type |
Name |
Description |
System.String |
oldMemberName |
|
System.String |
newMemberName |
|
System.Boolean |
skipIfMissing |
|
Declaration
public void ReplaceMember(string memberName, IDataInput[] dependencies, Func<ReaderDataInput[], ReaderDataInput> memberGenerator)
Parameters
Declaration
public void ReplaceMember<TDst>(string memberName, IDataInput[] dependencies, Func<ReaderDataInput[], TDst> memberGenerator)
Parameters
Type |
Name |
Description |
System.String |
memberName |
|
IDataInput[] |
dependencies |
|
System.Func<ReaderDataInput[], TDst> |
memberGenerator |
|
Type Parameters
Declaration
public void UpdateMember(string memberName, IDataInput[] dependencies, Func<ReaderDataInput, ReaderDataInput[], ReaderDataInput> updateMember)
Parameters
Declaration
public void UpdateMember<TSrc, TDst>(string memberName, IDataInput[] dependencies, Func<TSrc, ReaderDataInput[], TDst> updateMember, Func<TDst> whenMissing = null)
Parameters
Type |
Name |
Description |
System.String |
memberName |
|
IDataInput[] |
dependencies |
|
System.Func<TSrc, ReaderDataInput[], TDst> |
updateMember |
|
System.Func<TDst> |
whenMissing |
|
Type Parameters
Name |
Description |
TSrc |
|
TDst |
|
UpdateMember<TSrc, TDst>(String, Func<TSrc, TDst>)
Updates member by converting old value to new value. Member schema type changes accordingly.
Declaration
public void UpdateMember<TSrc, TDst>(string memberName, Func<TSrc, TDst> updateMember)
Parameters
Type |
Name |
Description |
System.String |
memberName |
|
System.Func<TSrc, TDst> |
updateMember |
|
Type Parameters
Name |
Description |
TSrc |
|
TDst |
|
UpdateMember<TSrc, TDst>(String, String[], Func<TSrc, Object[], TDst>)
Declaration
public void UpdateMember<TSrc, TDst>(string memberName, string[] dependencies, Func<TSrc, object[], TDst> updateMember)
Parameters
Type |
Name |
Description |
System.String |
memberName |
|
System.String[] |
dependencies |
|
System.Func<TSrc, System.Object[], TDst> |
updateMember |
|
Type Parameters
Name |
Description |
TSrc |
|
TDst |
|
Updates member using ReaderDataInput as original value. It produces value of TDst
type.
Declaration
public void UpdateMemberFromDataInput<TDst>(string memberName, IDataInput[] dependencies, Func<ReaderDataInput, ReaderDataInput[], TDst> updateMember)
Parameters
Type Parameters
Implements
Extension Methods