modules/devops/Write-MigrationScript.ps1
|
param( [string]$ProjectName, [string]$OrmMode, [string]$OutputPath ) . (Join-Path (Split-Path $MyInvocation.MyCommand.Path) "..\core\Utils.ps1") # Migration script sadece EFCore veya Hybrid modda üretilir if ($OrmMode -notmatch "EFCore|Hybrid") { return } function Write-File($rel, $con) { Write-CoreFile (Join-Path $OutputPath $rel) $con } Write-File "scripts\migrate.ps1" @" #Requires -Version 5.1 # EF Core Migration Helper — $ProjectName # Kullanim: .\scripts\migrate.ps1 [-MigrationName <ad>] [-Revert] param( [string]`$MigrationName = "Initial", [switch]`$Revert ) `$persistenceProj = "src\$ProjectName.Persistence" `$startupProj = "src\$ProjectName.WebApi" if (`$Revert) { Write-Host "Son migration geri aliniyor..." -ForegroundColor Yellow dotnet ef database update 0 `` --project `$persistenceProj `` --startup-project `$startupProj Write-Host "Tum migrasyonlar siliniyor..." -ForegroundColor Yellow dotnet ef migrations remove `` --project `$persistenceProj `` --startup-project `$startupProj Write-Host "Tamamlandi." -ForegroundColor Green } else { Write-Host "Migration olusturuluyor: `$MigrationName" -ForegroundColor Cyan dotnet ef migrations add `$MigrationName `` --project `$persistenceProj `` --startup-project `$startupProj `` --output-dir Migrations Write-Host "Veritabani guncelleniyor..." -ForegroundColor Cyan dotnet ef database update `` --project `$persistenceProj `` --startup-project `$startupProj Write-Host "Tamamlandi." -ForegroundColor Green } "@ Write-File "scripts\migrate.sh" @" #!/bin/bash # EF Core Migration Helper — $ProjectName # Kullanim: ./scripts/migrate.sh [MigrationName] [--revert] MIGRATION_NAME=${1:-Initial} PERSISTENCE_PROJ="src/$ProjectName.Persistence" STARTUP_PROJ="src/$ProjectName.WebApi" if [ "`$2" = "--revert" ]; then echo "Son migration geri aliniyor..." dotnet ef database update 0 \ --project `$PERSISTENCE_PROJ \ --startup-project `$STARTUP_PROJ dotnet ef migrations remove \ --project `$PERSISTENCE_PROJ \ --startup-project `$STARTUP_PROJ echo "Tamamlandi." else echo "Migration olusturuluyor: `$MIGRATION_NAME" dotnet ef migrations add `$MIGRATION_NAME \ --project `$PERSISTENCE_PROJ \ --startup-project `$STARTUP_PROJ \ --output-dir Migrations echo "Veritabani guncelleniyor..." dotnet ef database update \ --project `$PERSISTENCE_PROJ \ --startup-project `$STARTUP_PROJ echo "Tamamlandi." fi "@ |