@@ -28,7 +28,15 @@ public class FollowerLoader
2828 public static FollowerDatabase LoadFollower ( string databaseName , KustoClient client )
2929 {
3030 var follower = new FollowerDatabase { DatabaseName = databaseName } ;
31- var metdaData = client . Client . ExecuteQuery ( string . Format ( FollowerMetadataQuery , databaseName ) ) . As < FollowerMetadata > ( ) . First ( ) ;
31+ // Execute the query and handle the case where no rows are returned (e.g., database is not a follower)
32+ var queryResult = client . Client . ExecuteQuery ( string . Format ( FollowerMetadataQuery , databaseName ) ) ;
33+ var metdaData = queryResult . As < FollowerMetadata > ( ) . FirstOrDefault ( ) ;
34+
35+ if ( metdaData == null )
36+ {
37+ // No follower metadata found; return a default follower object (no changes will be generated)
38+ return follower ;
39+ }
3240
3341 switch ( metdaData . AuthorizedPrincipalsModificationKind )
3442 {
@@ -71,17 +79,17 @@ public static FollowerDatabase LoadFollower(string databaseName, KustoClient cli
7179
7280 public class FollowerMetadata
7381 {
74- public string DatabaseName { get ; set ; }
75- public string LeaderClusterMetadataPath { get ; set ; }
76- public string CachingPolicyOverride { get ; set ; }
77- public string AuthorizedPrincipalsOverride { get ; set ; }
78- public string AuthorizedPrincipalsModificationKind { get ; set ; }
82+ public string ? DatabaseName { get ; set ; }
83+ public string ? LeaderClusterMetadataPath { get ; set ; }
84+ public string ? CachingPolicyOverride { get ; set ; }
85+ public string ? AuthorizedPrincipalsOverride { get ; set ; }
86+ public string ? AuthorizedPrincipalsModificationKind { get ; set ; }
7987 public bool IsAutoPrefetchEnabled { get ; set ; }
80- public string TableMetadataOverrides { get ; set ; }
81- public string CachingPoliciesModificationKind { get ; set ; }
82- public string ChildEntities { get ; set ; }
83- public string OriginalDatabaseName { get ; set ; }
84- public Dictionary < string , TimeSpan > CachingPolicies { get ; set ; }
88+ public string ? TableMetadataOverrides { get ; set ; }
89+ public string ? CachingPoliciesModificationKind { get ; set ; }
90+ public string ? ChildEntities { get ; set ; }
91+ public string ? OriginalDatabaseName { get ; set ; }
92+ public Dictionary < string , TimeSpan > ? CachingPolicies { get ; set ; }
8593
8694 }
8795}
0 commit comments