Atualiza a configuração do Docker para usar SQLite3, incluindo a criação de um novo banco de dados e a modificação do Dockerfile. O README foi atualizado para refletir as mudanças na estrutura do projeto e no uso do servidor. A lógica do código foi adaptada para suportar operações com SQLite3, substituindo o uso anterior do BoltDB.
This commit is contained in:
1 parent
1f53c3e841
commit
9abff0338b
15 files changed
+706
-89
No files matched your search
@@ -0,0 +1,60 @@
|
||||
# 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
|
||||
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script de migração para SQLite3
|
||||
# Este script ajuda a migrar dados existentes e fazer backup
|
||||
|
||||
set -e
|
||||
|
||||
echo "=== Script de Migração para SQLite3 ==="
|
||||
echo
|
||||
|
||||
# Verificar se o arquivo BoltDB existe
|
||||
if [ -f "data/yasuc.db" ]; then
|
||||
echo "Arquivo BoltDB encontrado: data/yasuc.db"
|
||||
echo "Fazendo backup..."
|
||||
cp data/yasuc.db data/yasuc.db.backup.$(date +%Y%m%d_%H%M%S)
|
||||
echo "Backup criado com sucesso!"
|
||||
echo
|
||||
else
|
||||
echo "Arquivo BoltDB não encontrado. Iniciando com banco SQLite3 vazio."
|
||||
echo
|
||||
fi
|
||||
|
||||
# Criar novo banco SQLite3
|
||||
echo "Criando novo banco SQLite3..."
|
||||
sqlite3 data/yasuc.sqlite3 << 'EOF'
|
||||
CREATE TABLE IF NOT EXISTS pastes (
|
||||
hash TEXT PRIMARY KEY,
|
||||
content TEXT NOT NULL,
|
||||
created_at INTEGER NOT NULL
|
||||
);
|
||||
EOF
|
||||
|
||||
echo "Banco SQLite3 criado com sucesso!"
|
||||
echo
|
||||
|
||||
# Atualizar compose.yml para usar o novo banco
|
||||
echo "Atualizando configuração do Docker..."
|
||||
sed -i 's/yasuc.db/yasuc.sqlite3/g' compose.yml
|
||||
|
||||
echo "=== Migração concluída! ==="
|
||||
echo
|
||||
echo "Para migrar dados existentes do BoltDB para SQLite3, você pode:"
|
||||
echo "1. Usar o script de migração: go run cmd/migrate/main.go -bolt data/yasuc.db -sqlite data/yasuc.sqlite3"
|
||||
echo "2. Ou começar com um banco vazio (recomendado para novos deployments)"
|
||||
echo
|
||||
echo "Para executar o aplicativo:"
|
||||
echo "docker-compose up --build"
|
||||
Reference in new issue
Block a user