mirror of
https://dev.azure.com/tstanciu94/Packages/_git/Netmash
synced 2025-07-30 11:11:10 +03:00
139 lines
3.4 KiB
Markdown
139 lines
3.4 KiB
Markdown
# Key Files and Their Current State
|
|
|
|
## DependencyInjectionExtensions.cs
|
|
|
|
**Status**: ✅ Fully updated
|
|
**Key Changes**:
|
|
|
|
- Added metadataSchema and metadataPrefix parameters
|
|
- Renamed metadataLocation to metadataStorage
|
|
- Added comprehensive validation logic
|
|
- Registered TableNamingService as singleton
|
|
- Removed LogConfiguration method
|
|
|
|
**Current AddMigration signature**:
|
|
|
|
```csharp
|
|
public static void AddMigration(this IServiceCollection services,
|
|
DatabaseType databaseType = DatabaseType.SQLite,
|
|
MetadataStorage metadataStorage = MetadataStorage.XmlFile,
|
|
string connectionName = "DatabaseConnection",
|
|
string workspace = "Workspace",
|
|
string scriptsDirectoryPath = "Scripts",
|
|
string metadataSchema = "migration",
|
|
string metadataPrefix = null)
|
|
```
|
|
|
|
## ServiceConfiguration.cs
|
|
|
|
**Status**: ✅ Fully updated
|
|
**Key Changes**:
|
|
|
|
- Added MetadataSchema and MetadataPrefix properties
|
|
- Updated constructor to accept new parameters
|
|
- Changed MetadataLocation to MetadataStorage
|
|
|
|
## TableNamingService.cs
|
|
|
|
**Status**: ✅ Fully updated
|
|
**Key Changes**:
|
|
|
|
- Converted from static to injectable service
|
|
- Added ProcessSqlScript method for placeholder replacement
|
|
- Now receives ServiceConfiguration via constructor
|
|
|
|
**Key Methods**:
|
|
|
|
```csharp
|
|
public string GetTableName(string baseTableName)
|
|
public string GetSchemaName()
|
|
public string ProcessSqlScript(string sqlContent)
|
|
```
|
|
|
|
## SQL Scripts with Placeholders
|
|
|
|
**Status**: ✅ All updated
|
|
|
|
### SQL Server Scripts:
|
|
|
|
- `01.CreateMigrationSchema.sql`: Uses `{MetadataSchema}`
|
|
- `02.MigrationTables.sql`: Uses `{MetadataSchema}` and `{TablePrefix}`
|
|
|
|
### SQLite Scripts:
|
|
|
|
- `01.MigrationSignatureTable.sql`: Uses `{TablePrefix}`
|
|
- `02.MigratedVersionTable.sql`: Uses `{TablePrefix}`
|
|
- `03.MigratedScriptTable.sql`: Uses `{TablePrefix}`
|
|
|
|
## Entity Framework Configurations
|
|
|
|
**Status**: ✅ All simplified
|
|
**Key Changes**:
|
|
|
|
- Removed unnecessary if statements for schema handling
|
|
- All now use TableNamingService via constructor injection
|
|
- EF Core handles null schemas automatically
|
|
|
|
**Files Updated**:
|
|
|
|
- `MigrationSignatureConfiguration.cs`
|
|
- `MigratedVersionConfiguration.cs`
|
|
- `MigratedScriptConfiguration.cs`
|
|
|
|
## MigrationDbContext.cs
|
|
|
|
**Status**: ✅ Updated
|
|
**Key Changes**:
|
|
|
|
- Now receives TableNamingService via constructor
|
|
- Passes service to all configurations
|
|
|
|
## MigrationRepository.cs
|
|
|
|
**Status**: ✅ Updated
|
|
**Key Changes**:
|
|
|
|
- Now uses TableNamingService for dynamic table names
|
|
- Updated MigrationTablesAreSet method with dynamic queries
|
|
|
|
## MetadataLocationService.cs
|
|
|
|
**Status**: ✅ Updated
|
|
**Key Changes**:
|
|
|
|
- Uses embedded scripts with placeholder processing
|
|
- Removed dynamic SQL generation methods
|
|
- Added TableNamingService dependency
|
|
|
|
## MigrationSignaturesService.cs
|
|
|
|
**Status**: ✅ Updated
|
|
**Key Changes**:
|
|
|
|
- Updated to use MetadataStorage instead of MetadataLocation
|
|
- XML file naming now supports metadataPrefix
|
|
|
|
## Constants Updated
|
|
|
|
**Status**: ✅ Updated
|
|
|
|
- `MetadataLocation.cs` renamed to `MetadataStorage.cs`
|
|
- `ManifestResources.cs` unchanged (still valid)
|
|
- `DatabaseType.cs` unchanged
|
|
|
|
## Files Removed
|
|
|
|
- `SqlScriptGeneratorService.cs` ❌ Deleted (no longer needed)
|
|
|
|
## Compilation Status
|
|
|
|
- ✅ Project builds successfully with `dotnet build`
|
|
- ✅ No compilation errors
|
|
- ⚠️ Minor warnings about lowercase type names (acceptable)
|
|
|
|
## Testing Status
|
|
|
|
- ❌ No unit tests exist yet
|
|
- ✅ Manual verification via successful compilation
|
|
- ✅ All refactoring paths verified
|