Metadata-Version: 2.4
Name: db-to-db
Version: 0.2.0
Summary: PostgreSQL 数据库表同步工具 — Web 界面，纯 Python
Author: tieshou
License: MIT
Project-URL: Homepage, https://github.com/tieshou/db-to-db
Project-URL: Repository, https://github.com/tieshou/db-to-db
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: python-fasthtml>=0.14
Requires-Dist: duckdb>=0.9
Requires-Dist: psycopg2-binary>=2.9
Requires-Dist: click>=8.0
Requires-Dist: uvicorn>=0.20
Requires-Dist: httpx>=0.25

# db-to-db

> **PostgreSQL 表同步工具** — 浏览器操作，纯 Python，一条命令即可部署为 Windows 系统服务。

---

## 快速开始

```bash
pip install db-to-db

# 方式 A：手动启动（调试用）
db-to-db run --open

# 方式 B：安装为系统服务（开机自启，无终端窗口）
db-to-db service install --port 5001
```

浏览器打开 **http://127.0.0.1:5001**

---

## 功能

| 功能 | 说明 |
|------|------|
| **连接管理** | 保存多个数据库连接，支持直连 / HTTP 代理 |
| **表同步** | 选择源和目标库，勾选表，一键 `TRUNCATE + INSERT` |
| **同步历史** | 查看过往同步记录，含状态、行数、错误信息 |
| **热重载** | 修改代码无需重启服务，uvicorn `--reload` 自动检测 |
| **开机自启** | 通过 WinSW 注册为 Windows 系统服务 |

---

## CLI 命令

```bash
# 启动
db-to-db run                        # 启动 Web 界面
db-to-db run --open                 # 启动并打开浏览器

# 服务管理（Windows）
db-to-db service install            # 安装服务（开机自启）
db-to-db service uninstall          # 卸载
db-to-db service start|stop|restart # 服务控制
db-to-db service status             # 查看状态
db-to-db service info               # 运维指南

# 版本
db-to-db version
```

---

## 自定义代码 + 热重载

```bash
git clone <仓库地址>
cd db-to-db
pip install -e .        # 可编辑安装
```

修改源码 → **保存即生效**，uvicorn 自动热重启。

---

## 技术栈

- [FastHTML](https://fastht.ml/) — AI 时代的 Python Web 框架
- HTMX — 零手写 JS 的交互
- DuckDB — 嵌入式本地配置存储
- psycopg2 — PostgreSQL 连接驱动
- uvicorn — Python ASGI 服务器（`--reload` 热重载）
- WinSW — Windows 服务封装
- Click — CLI 命令行框架
- httpx — HTTP 客户端（代理模式）

---

## 数据存储

默认位置：`~/.db-to-db/config.duckdb`
环境变量 `DB_TO_DB_DIR` 可自定义。

---

## 许可证

MIT © tieshou（望月）
