docs & tools: Actualización de informes y scripts de migración DASUTEN
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
#!/usr/bin/env ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
# ==========================================================
|
||||
# Configurar zona horaria Argentina en dasu-sql4
|
||||
# ==========================================================
|
||||
|
||||
require_relative 'drones/lib/dasu_executor'
|
||||
|
||||
puts "=== CONFIGURAR ZONA HORARIA - ARGENTINA (UTC-3) ==="
|
||||
puts ""
|
||||
|
||||
ps_script = <<~PSCMD.strip
|
||||
$ErrorActionPreference = "Stop"
|
||||
$JSON_PATH = "C:\\temp\\timezone_config_output.json"
|
||||
|
||||
$null = New-Item -ItemType Directory -Force -Path "C:\\temp"
|
||||
|
||||
Write-Host "[1/4] Zona horaria ACTUAL:"
|
||||
$tz = Get-TimeZone
|
||||
Write-Host " ID: $($tz.Id)"
|
||||
Write-Host " DisplayName: $($tz.DisplayName)"
|
||||
Write-Host " BaseUtcOffset: $($tz.BaseUtcOffset)"
|
||||
|
||||
Write-Host "`n[2/4] Configurando zona horaria ARGENTINA (UTC-3)..."
|
||||
|
||||
# Argentina Standard Time es el ID correcto para UTC-3
|
||||
try {
|
||||
Set-TimeZone -Id "Argentina Standard Time"
|
||||
Write-Host " ✅ Zona horaria configurada correctamente"
|
||||
} catch {
|
||||
Write-Host " ERROR: $_"
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "`n[3/4] Verificando nueva configuración:"
|
||||
$tz = Get-TimeZone
|
||||
Write-Host " ID: $($tz.Id)"
|
||||
Write-Host " DisplayName: $($tz.DisplayName)"
|
||||
Write-Host " BaseUtcOffset: $($tz.BaseUtcOffset)"
|
||||
|
||||
Write-Host "`n[4/4] Fecha/hora actual:"
|
||||
Write-Host " Get-Date: $(Get-Date)"
|
||||
Write-Host " Get-Date -Format 'o': $(Get-Date -Format 'o')"
|
||||
Write-Host " UTC: $(Get-Date -AsUtc)"
|
||||
|
||||
# Verificar si SQL Server necesita reinicio
|
||||
Write-Host "`n[5/5] Verificando SQL Server:"
|
||||
$connString = "Server=localhost;Database=master;Integrated Security=true;TrustServerCertificate=yes;"
|
||||
$conn = New-Object System.Data.SqlClient.SqlConnection($connString)
|
||||
$conn.Open()
|
||||
|
||||
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT GETDATE() as fecha_sql, SYSUTCDATETIME() as utc_sql", $conn)
|
||||
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter($cmd)
|
||||
$ds = New-Object System.Data.DataSet
|
||||
$adapter.Fill($ds)
|
||||
|
||||
if ($ds.Tables[0].Rows.Count -gt 0) {
|
||||
$row = $ds.Tables[0].Rows[0]
|
||||
Write-Host " GETDATE(): $($row.fecha_sql)"
|
||||
Write-Host " SYSUTCDATETIME(): $($row.utc_sql)"
|
||||
Write-Host " Diferencia con UTC: $([DateTime]::Now - [DateTime]::UtcNow)"
|
||||
}
|
||||
|
||||
$conn.Close()
|
||||
|
||||
$resultado = @{
|
||||
paso = "timezone_configurado"
|
||||
timezone_id = $tz.Id
|
||||
timezone_display = $tz.DisplayName
|
||||
utc_offset = $tz.BaseUtcOffset.ToString()
|
||||
timestamp = (Get-Date -Format "o")
|
||||
}
|
||||
|
||||
$resultado | ConvertTo-Json | Out-File -FilePath $JSON_PATH -Encoding utf8
|
||||
PSCMD
|
||||
|
||||
puts "\n[1/2] Configurando zona horaria..."
|
||||
DasuExecutor.execute_ps_on_dasu(ps_script, output_path: 'C:\temp\timezone_config_output.json')
|
||||
|
||||
puts "\n[2/2] Leyendo resultado..."
|
||||
begin
|
||||
resultado = DasuExecutor.read_json_from_dasu('C:\temp\timezone_config_output.json')
|
||||
puts "\n=== RESULTADO ==="
|
||||
puts " Timezone ID: #{resultado['timezone_id']}"
|
||||
puts " Display: #{resultado['timezone_display']}"
|
||||
puts " UTC Offset: #{resultado['utc_offset']}"
|
||||
rescue => e
|
||||
puts "[!] Error leyendo resultado: #{e.message}"
|
||||
end
|
||||
|
||||
puts "\n✅ Configuración completada"
|
||||
puts "\n⚠️ NOTA: SQL Server puede necesitar reinicio para aplicar completamente la nueva zona horaria."
|
||||
Reference in New Issue
Block a user