Proyecto de control de versiones para bases de datos PostgreSQL. Permite realizar backups incrementales y gestionar el historial de cambios en la base de datos.
Warning
Actualmente solo compatible con windows.
| Requisito | Versión mínima |
|---|---|
| Python | >= 3.8 |
| pip | >= 21.0 |
Dependencias de Python:
-
Clona el repositorio:
git clone https://github.com/epmyas2022/SnapDB.git
-
Navega al directorio del proyecto:
cd SnapDB -
Instala las dependencias:
pip install -r requirements.txt
Instalación en modo editable:
pip install -e .Ejecutar como administrador el siguiente comando en PowerShell
$u="https://github.com/epmyas2022/SnapDB/releases/download/beta/snapdb.exe";$d="C:\Tools\SnapDB";mkdir $d -Force; iwr $u -OutFile "$d\snapdb.exe"; setx PATH "$env:PATH;$d" /Msnapdb --helpEjecutar el siguiente comando en la terminal
sudo curl -L https://github.com/epmyas2022/SnapDB/releases/download/beta-linux/snapdb \
-o /usr/local/bin/snapdb && \
sudo chmod +x /usr/local/bin/snapdbsnapdb --helpsnapdb [OPTIONS] COMMAND [ARGS]...Opciones:
--install-completion— Instala el autocompletado para el shell actual.--show-completion— Muestra el autocompletado para el shell actual.--help— Muestra el mensaje de ayuda y sale.
Comandos:
use— Selecciona la versión de PostgreSQL a utilizar.version— Muestra la versión actual.fetch— Muestra la lista de paquetes disponibles.list— Muestra la lista de paquetes instalados.install— Instala un paquete específico.checkout— Restaura el estado de la base de datos a un commit específico.status— Muestra el estado actual del staging.logs— Muestra el historial de commits.init— Inicializa un nuevo repositorio de control de versiones.connections— Muestra las conexiones disponibles.connect— Activa una conexión específica.create-connection— Crea una nueva conexión.add— Agrega un archivo de respaldo al staging.commit— Crea un nuevo commit con los archivos en staging.
Ejemplo de flujo completo desde cero.
snapdb init test-Projectsnapdb create-connection my-fir -H localhost -P 5432 -U postgres -d postgres -p postgressnapdb install @windows/postgres-17.8snapdb use @windows/postgres-17.8snapdb add holasnapdb commit "hola"snapdb logssnapdb checkout <hash>
