# Script de migração para SQLite3 (PowerShell) # Este script ajuda a migrar dados existentes e fazer backup Write-Host "=== Script de Migração para SQLite3 ===" -ForegroundColor Green Write-Host "" # Verificar se o arquivo BoltDB existe if (Test-Path "data/yasuc.db") { Write-Host "Arquivo BoltDB encontrado: data/yasuc.db" -ForegroundColor Yellow Write-Host "Fazendo backup..." -ForegroundColor Yellow $backupName = "data/yasuc.db.backup.$(Get-Date -Format 'yyyyMMdd_HHmmss')" Copy-Item "data/yasuc.db" $backupName Write-Host "Backup criado com sucesso: $backupName" -ForegroundColor Green Write-Host "" } else { Write-Host "Arquivo BoltDB não encontrado. Iniciando com banco SQLite3 vazio." -ForegroundColor Yellow Write-Host "" } # Criar diretório data se não existir if (-not (Test-Path "data")) { New-Item -ItemType Directory -Path "data" | Out-Null } # Criar novo banco SQLite3 Write-Host "Criando novo banco SQLite3..." -ForegroundColor Yellow # Verificar se sqlite3 está disponível try { $null = Get-Command sqlite3 -ErrorAction Stop sqlite3 "data/yasuc.sqlite3" @" CREATE TABLE IF NOT EXISTS pastes ( hash TEXT PRIMARY KEY, content TEXT NOT NULL, created_at INTEGER NOT NULL ); "@ Write-Host "Banco SQLite3 criado com sucesso!" -ForegroundColor Green } catch { Write-Host "SQLite3 não encontrado. Criando arquivo vazio..." -ForegroundColor Yellow New-Item -ItemType File -Path "data/yasuc.sqlite3" -Force | Out-Null Write-Host "Arquivo SQLite3 criado. Execute 'sqlite3 data/yasuc.sqlite3' para criar a tabela manualmente." -ForegroundColor Yellow } Write-Host "" # Atualizar compose.yml para usar o novo banco Write-Host "Atualizando configuração do Docker..." -ForegroundColor Yellow $composeContent = Get-Content "compose.yml" -Raw $composeContent = $composeContent -replace "yasuc\.db", "yasuc.sqlite3" Set-Content "compose.yml" $composeContent Write-Host "=== Migração concluída! ===" -ForegroundColor Green Write-Host "" Write-Host "Para migrar dados existentes do BoltDB para SQLite3, você pode:" -ForegroundColor Cyan Write-Host "1. Usar o script de migração: go run cmd/migrate/main.go -bolt data/yasuc.db -sqlite data/yasuc.sqlite3" -ForegroundColor White Write-Host "2. Ou começar com um banco vazio (recomendado para novos deployments)" -ForegroundColor White Write-Host "" Write-Host "Para executar o aplicativo:" -ForegroundColor Cyan Write-Host "docker-compose up --build" -ForegroundColor White