npm package: @germansan2002/db-cli
Description: `DB-CLI` es una herramienta de línea de comandos para interactuar y generar configuraciones y entidades para bases de datos. Esta herramienta está diseñada para ser compatible con múltiples bases de datos y facilita la configuración de proyectos que utili
Author: German Sancho Miñano
Latest version: 1.1.1

# DB-CLI

`DB-CLI` es una herramienta de línea de comandos para interactuar y generar configuraciones y entidades para bases de datos. Esta herramienta está diseñada para ser compatible con múltiples bases de datos y facilita la configuración de proyectos que utilizan `Sequelize` y `TypeORM`.

## Contenidos

- [Características](#características)
- [Instalación](#instalación)
- [Uso](#uso)
  - [Conectar a la Base de Datos](#conectar-a-la-base-de-datos)
  - [Listar Tablas](#listar-tablas)
  - [Generar Archivos de Configuración](#generar-archivos-de-configuración)
  - [Generar Entidades](#generar-entidades)
  - [Mostrar Ayuda](#mostrar-ayuda)
- [Configuración](#configuración)
- [Ejemplos de Uso](#ejemplos-de-uso)
- [Contribuciones](#contribuciones)
- [Licencia](#licencia)
- [Autor](#autor)

## Características

- **Conectar**: Verifica la conexión a la base de datos.
- **Listar Tablas**: Lista las tablas presentes en la base de datos.
- **Generar Configuraciones**: Genera archivos de configuración para `TypeORM`.
- **Generar Entidades**: Genera entidades de `TypeORM` a partir de la estructura de la base de datos.
- **Soporte para múltiples bases de datos**: Incluye compatibilidad con MySQL, PostgreSQL, SQLite, y MSSQL.

## Instalación

### Prerrequisitos

- Node.js 14.x o superior
- npm 6.x o superior

### Instalación Global

Puedes instalar `DB-CLI` globalmente usando npm:

```bash
npm install -g db-cli
```

Esto hará que `db-cli` esté disponible como un comando en tu terminal.

### Instalación Local

Si prefieres instalarlo localmente en tu proyecto, usa:

```bash
npm install db-cli --save-dev
```

Luego puedes usarlo en tu proyecto localmente.

## Uso

### Comandos Disponibles

#### Conectar a la Base de Datos

Verifica la conexión a la base de datos usando el archivo de configuración.

```bash
db-cli connect db-config.json
```

#### Listar Tablas

Lista todas las tablas en la base de datos especificada en el archivo de configuración.

```bash
db-cli tables db-config.json
```

#### Generar Archivos de Configuración

Genera un archivo de configuración para `TypeORM` basado en el esquema de la base de datos.

```bash
db-cli generate:connection db-config.json
```

#### Generar Entidades

Genera entidades `TypeORM` en la carpeta especificada en `db-config.json`.

```bash
db-cli generate:entities db-config.json
```

#### Mostrar Ayuda

Muestra la lista de comandos disponibles y una breve descripción de cada uno.

```bash
db-cli help
```

## Configuración

El archivo de configuración JSON (`db-config.json`) debe tener el siguiente formato:

```json
{
  "type": "mysql",
  "host": "localhost",
  "port": 3306,
  "username": "root",
  "password": "123456789",
  "database": "nombre-de-tu-base-de-datos",
  "outputDir": "./generated"
}
```

## Ejemplos de Uso

#### Verificar Conexión

```bash
db-cli connect db-config.json
```

#### Listar Tablas

```bash
db-cli tables db-config.json
```

#### Generar Configuración de TypeORM

```bash
db-cli generate:connection db-config.json
```

#### Generar Entidades de TypeORM

```bash
db-cli generate:entities db-config.json
```

## Contribuciones

¡Las contribuciones son bienvenidas! Si tienes sugerencias, problemas o deseas contribuir al proyecto, por favor abre un issue o envía un pull request en nuestro [repositorio de GitHub](https://github.com/GermanSan2002/DB-CLI).

## Licencia

Este proyecto está licenciado bajo la licencia MIT. Consulta el archivo `LICENSE` para más detalles.

## Autor

Creado por German Sancho Miñano.