1- using CmdScale . EntityFrameworkCore . TimescaleDB . Design . Generators ;
1+ using CmdScale . EntityFrameworkCore . TimescaleDB . Generators ;
22using CmdScale . EntityFrameworkCore . TimescaleDB . Operations ;
33using Microsoft . EntityFrameworkCore . Infrastructure ;
44using Microsoft . EntityFrameworkCore . Migrations . Design ;
@@ -13,30 +13,41 @@ protected override void Generate(MigrationOperation operation, IndentedStringBui
1313 ArgumentNullException . ThrowIfNull ( operation ) ;
1414 ArgumentNullException . ThrowIfNull ( builder ) ;
1515
16+ HypertableOperationGenerator ? hypertableOperationGenerator = null ;
17+ ReorderPolicyOperationGenerator ? reorderPolicyOperationGenerator = null ;
18+ List < string > statements = [ ] ;
19+
1620 switch ( operation )
1721 {
1822 case CreateHypertableOperation create :
19- HypertableOperationGenerator . Generate ( create , builder ) ;
23+ hypertableOperationGenerator ??= new ( isDesignTime : true ) ;
24+ statements = hypertableOperationGenerator . Generate ( create ) ;
2025 break ;
2126 case AlterHypertableOperation alter :
22- HypertableOperationGenerator . Generate ( alter , builder ) ;
27+ hypertableOperationGenerator ??= new ( isDesignTime : true ) ;
28+ statements = hypertableOperationGenerator . Generate ( alter ) ;
2329 break ;
2430
2531 case AddReorderPolicyOperation addReorder :
26- ReorderPolicyOperationGenerator . Generate ( addReorder , builder ) ;
32+ reorderPolicyOperationGenerator ??= new ( isDesignTime : true ) ;
33+ statements = reorderPolicyOperationGenerator . Generate ( addReorder ) ;
2734 break ;
2835 case AlterReorderPolicyOperation alterReorder :
29- ReorderPolicyOperationGenerator . Generate ( alterReorder , builder ) ;
36+ reorderPolicyOperationGenerator ??= new ( isDesignTime : true ) ;
37+ statements = reorderPolicyOperationGenerator . Generate ( alterReorder ) ;
3038 break ;
3139 case DropReorderPolicyOperation dropReorder :
32- ReorderPolicyOperationGenerator . Generate ( dropReorder , builder ) ;
40+ reorderPolicyOperationGenerator ??= new ( isDesignTime : true ) ;
41+ statements = reorderPolicyOperationGenerator . Generate ( dropReorder ) ;
3342 break ;
3443
35- default :
44+ default :
3645 base . Generate ( operation , builder ) ;
3746 break ;
3847 }
48+
49+ SqlBuilderHelper . BuildQueryString ( statements , builder ) ;
3950 }
40-
51+
4152 }
42- }
53+ }
0 commit comments