@codemastersolutions/db-utility 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.es.md CHANGED
@@ -45,7 +45,7 @@ dbutility --init --force
45
45
 
46
46
  ### Archivo de Configuración (dbutility.config.json)
47
47
 
48
- El archivo de configuración permite definir el idioma de la CLI, directorios de salida y patrones de nombres.
48
+ El archivo de configuración permite definir el idioma de la CLI, directorios de salida, patrones de nombres y configuraciones de conexión a la base de datos.
49
49
 
50
50
  ```json
51
51
  {
@@ -56,13 +56,60 @@ El archivo de configuración permite definir el idioma de la CLI, directorios de
56
56
  "migrations": {
57
57
  "outputDir": "db-utility-migrations",
58
58
  "fileNamePattern": "timestamp-prefix"
59
+ },
60
+ "connection": {
61
+ "type": "postgres",
62
+ "host": "localhost",
63
+ "port": 5432,
64
+ "username": "usuario",
65
+ "password": "password",
66
+ "database": "mibasedatos",
67
+ "ssl": false
68
+ },
69
+ "connections": {
70
+ "desarrollo": {
71
+ "type": "mysql",
72
+ "host": "localhost",
73
+ "port": 3306,
74
+ "username": "root",
75
+ "password": "password",
76
+ "database": "dev_db"
77
+ },
78
+ "produccion": {
79
+ "type": "postgres",
80
+ "host": "prod-db",
81
+ "port": 5432,
82
+ "username": "admin",
83
+ "password": "secure_password",
84
+ "database": "prod_db",
85
+ "ssl": true
86
+ }
59
87
  }
60
88
  }
61
89
  ```
62
90
 
91
+ ### Múltiples Conexiones
92
+
93
+ Puede definir múltiples conexiones dentro de la propiedad `connections` y utilizarlas en la CLI con el flag `--conn <nombre>`.
94
+
95
+ Ejemplo:
96
+ ```bash
97
+ dbutility connect --conn desarrollo
98
+ ```
99
+
100
+ ### Prioridad de Configuración
101
+
102
+ La configuración se carga con el siguiente orden de prioridad (la prioridad más alta sobrescribe la más baja):
103
+
104
+ 1. **Flags de la CLI**: Argumentos pasados directamente al comando (ej: `-u usuario`).
105
+ 2. **Archivo de Configuración**: Configuraciones en `dbutility.config.json`.
106
+ 3. **Variables de Entorno**: Variables definidas en `.env`.
107
+
108
+ Esto permite tener configuraciones base en `.env`, configuraciones específicas del proyecto en `dbutility.config.json` y sobrescribir valores específicos (como la contraseña) a través de la CLI cuando sea necesario.
109
+
63
110
  ### Variables de Entorno (.env)
64
111
 
65
- También puede configurar DbUtility utilizando variables de entorno. Las configuraciones en el archivo JSON tienen prioridad sobre las variables de entorno si ambos están presentes.
112
+ También puede configurar DbUtility utilizando variables de entorno.
66
113
 
67
114
  ```env
68
115
  # Idioma (pt-BR, en, es)
@@ -74,79 +121,131 @@ DB_UTILITY_MIGRATIONS_OUTPUT_DIR=mi-directorio-migrations
74
121
 
75
122
  # Patrón de Nombre de Archivo de Migración (timestamp-prefix, prefix-timestamp)
76
123
  DB_UTILITY_MIGRATIONS_FILE_NAME_PATTERN=prefix-timestamp
124
+
125
+ # Conexión a Base de Datos (Fallback/Base)
126
+ DB_TYPE=postgres
127
+ DB_HOST=localhost
128
+ DB_PORT=5432
129
+ DB_USER=usuario
130
+ DB_PASSWORD=password
131
+ DB_NAME=mibasedatos
77
132
  ```
78
133
 
79
- ## CLI - Interfaz de Línea de Comandos
134
+ ## Comandos y Flags de la CLI
80
135
 
81
136
  > **Nota de Seguridad**: Recomendamos encarecidamente utilizar un usuario de base de datos con permisos de **solo lectura** (SELECT) para realizar operaciones de introspección y exportación. Esto minimiza el riesgo de modificaciones accidentales de datos. La biblioteca DbUtility solo ejecuta consultas de metadatos (estructura de la base de datos) y bloquea comandos que puedan modificar datos o leer filas de tablas de negocio.
82
137
 
83
- DbUtility ofrece una CLI robusta para interactuar con sus bases de datos.
138
+ ### Opciones Globales
139
+
140
+ | Flag | Descripción |
141
+ |------|-------------|
142
+ | `--init` | Inicializa el archivo de configuración |
143
+ | `-f, --force` | Fuerza la recreación del archivo de configuración si ya existe |
144
+ | `-v, --version` | Muestra el número de la versión |
145
+ | `-h, --help` | Muestra ayuda para el comando |
146
+
147
+ ### Opciones de Conexión (Disponibles para `connect`, `introspect`, `export`, `migrate`)
148
+
149
+ | Flag | Descripción |
150
+ |------|-------------|
151
+ | `--conn <name>` | Nombre de la conexión definida en el archivo de configuración |
152
+ | `-c, --config <path>` | Ruta al archivo de configuración |
153
+ | `-t, --type <type>` | Tipo de base de datos (`mysql`, `postgres`, `mssql`) |
154
+ | `-H, --host <host>` | Host de la base de datos |
155
+ | `-P, --port <port>` | Puerto de la base de datos |
156
+ | `-u, --username <username>` | Usuario de la base de datos |
157
+ | `-p, --password <password>` | Contraseña de la base de datos |
158
+ | `-d, --database <database>` | Nombre de la base de datos |
159
+ | `--ssl` | Habilita conexión SSL |
84
160
 
85
- ### Conectar a la Base de Datos
161
+ ### Comandos
86
162
 
87
- Pruebe la conexión a su base de datos.
163
+ #### `connect`
164
+
165
+ Prueba la conexión con la base de datos.
88
166
 
89
167
  ```bash
90
- dbutility connect -t postgres -H localhost -P 5432 -u usuario -p contraseña -d nombre_base_datos --ssl
168
+ dbutility connect [opciones-conexión]
91
169
  ```
92
170
 
93
- ### Realizar Introspección
171
+ #### `introspect`
94
172
 
95
- Analice el esquema de la base de datos y genere informes de introspección.
173
+ Realiza introspección en el esquema de la base de datos.
96
174
 
97
175
  ```bash
98
- dbutility introspect -t mysql -H localhost -P 3306 -u usuario -p contraseña -d nombre_base_datos
176
+ dbutility introspect [opciones-conexión]
99
177
  ```
100
178
 
101
- ### Exportar Modelos
179
+ #### `export`
102
180
 
103
- Exporte la estructura de la base de datos a modelos ORM.
181
+ Exporta modelos para el ORM objetivo.
104
182
 
105
183
  ```bash
106
- dbutility export --target sequelize --output ./src/models -t postgres ...
184
+ dbutility export --target <orm> [opciones] [opciones-conexión]
107
185
  ```
108
186
 
109
- ### Generar Migraciones
187
+ | Flag | Descripción | Obligatorio |
188
+ |------|-------------|-------------|
189
+ | `--target <target>` | ORM objetivo (`sequelize`, `typeorm`, `prisma`, `mongoose`) | Sí |
190
+ | `--output <dir>` | Directorio de salida | No |
191
+
192
+ #### `migrations`
110
193
 
111
- Genere migraciones a partir de la estructura existente de la base de datos. Este comando limpia el directorio de salida antes de generar nuevos archivos.
194
+ Genera migraciones a partir del esquema de la base de datos.
112
195
 
113
196
  ```bash
114
- dbutility migrate --target sequelize --output ./migrations -t postgres ...
197
+ dbutility migrations --target <orm> [opciones] [opciones-conexión]
115
198
  ```
116
199
 
117
- Opciones:
118
- - `--data`: Genera migraciones de datos (seeds) para las tablas especificadas.
119
- - `--only-data`: Genera SOLO migraciones de datos (seeds).
120
- - `--tables <tables>`: Lista de tablas separadas por comas para exportar datos.
200
+ | Flag | Descripción | Obligatorio |
201
+ |------|-------------|-------------|
202
+ | `--target <target>` | ORM objetivo (`sequelize`, `typeorm`) | Sí |
203
+ | `--output <dir>` | Directorio de salida | No |
204
+ | `--data` | Genera migración de datos (seeds) junto con el esquema | No |
205
+ | `--only-data` | Genera SOLO migración de datos | No |
206
+ | `--tables <tables>` | Lista de tablas separadas por coma para exportación de datos | Sí (si `--data` o `--only-data`) |
121
207
 
122
- Al usar `--data`, los archivos de seed se generan inmediatamente después de la migración de creación de la tabla correspondiente.
208
+ #### `test`
123
209
 
124
- ### Probar Migraciones
210
+ Prueba migraciones generadas en contenedores Docker.
125
211
 
126
- Pruebe las migraciones generadas utilizando contenedores Docker.
212
+ ```bash
213
+ dbutility test --target <orm> [opciones]
214
+ ```
127
215
 
216
+ | Flag | Descripción | Obligatorio |
217
+ |------|-------------|-------------|
218
+ | `--target <target>` | ORM objetivo (`sequelize`, `typeorm`) | Sí |
219
+ | `--dir <dir>` | Directorio conteniendo las migraciones | No |
220
+ | `--engines <engines>` | Imágenes Docker para probar (ej: `postgres:14,mysql:8`) | No |
221
+ | `--backup` | Exporta backup de la base de datos del contenedor después de la prueba | No |
222
+
223
+ ## Ejemplos de Uso
224
+
225
+ ### Conectar a una base de datos usando una conexión con nombre
128
226
  ```bash
129
- dbutility test --target sequelize --dir ./migrations/sequelize --engines postgres:14
227
+ dbutility connect --conn produccion
130
228
  ```
131
229
 
132
- Opciones:
133
- - `--target <target>`: ORM objetivo (sequelize, typeorm).
134
- - `--dir <dir>`: Directorio que contiene las migraciones (opcional).
135
- - `--engines <engines>`: Lista separada por comas de motores de base de datos para probar (ej: postgres:14, mysql:8). Si se omite, intenta leer `database-info.json` generado por el comando migrate.
230
+ ### Realizar introspección de una base de datos usando parámetros de conexión en línea
231
+ ```bash
232
+ dbutility introspect --type postgres --host localhost --username usuario --password contrasena --database mibasedatos
233
+ ```
136
234
 
137
- Requisitos:
138
- - Docker debe estar instalado y en ejecución.
235
+ ### Exportar modelos de Sequelize desde una conexión específica
236
+ ```bash
237
+ dbutility export --target sequelize --conn desarrollo --output ./src/models
238
+ ```
139
239
 
140
- ### Opciones de la CLI
240
+ ### Generar migraciones de TypeORM desde una conexión específica
241
+ ```bash
242
+ dbutility migrations --target typeorm --conn produccion
243
+ ```
141
244
 
142
- - `-t, --type <type>`: Tipo de base de datos (postgres, mysql, mssql)
143
- - `-H, --host <host>`: Host de la base de datos
144
- - `-P, --port <port>`: Puerto de la base de datos
145
- - `-u, --username <username>`: Usuario de la base de datos
146
- - `-p, --password <password>`: Contraseña de la base de datos
147
- - `-d, --database <database>`: Nombre de la base de datos
148
- - `--ssl`: Habilitar SSL (opcional)
149
- - `-c, --config <path>`: Ruta a un archivo de configuración específico
245
+ ### Generar Migraciones de Datos (Seeds)
246
+ ```bash
247
+ dbutility migrations --target sequelize --conn desarrollo --data --tables "usuarios,roles"
248
+ ```
150
249
 
151
250
  ## Licencia
152
251
 
package/README.md CHANGED
@@ -45,7 +45,7 @@ dbutility --init --force
45
45
 
46
46
  ### Configuration File (dbutility.config.json)
47
47
 
48
- The configuration file allows you to define CLI language, output directories, and naming patterns.
48
+ The configuration file allows you to define CLI language, output directories, naming patterns, and database connection settings.
49
49
 
50
50
  ```json
51
51
  {
@@ -56,13 +56,60 @@ The configuration file allows you to define CLI language, output directories, an
56
56
  "migrations": {
57
57
  "outputDir": "db-utility-migrations",
58
58
  "fileNamePattern": "timestamp-prefix"
59
+ },
60
+ "connection": {
61
+ "type": "postgres",
62
+ "host": "localhost",
63
+ "port": 5432,
64
+ "username": "myuser",
65
+ "password": "mypassword",
66
+ "database": "mydb",
67
+ "ssl": false
68
+ },
69
+ "connections": {
70
+ "development": {
71
+ "type": "mysql",
72
+ "host": "localhost",
73
+ "port": 3306,
74
+ "username": "root",
75
+ "password": "password",
76
+ "database": "dev_db"
77
+ },
78
+ "production": {
79
+ "type": "postgres",
80
+ "host": "prod-db",
81
+ "port": 5432,
82
+ "username": "admin",
83
+ "password": "secure_password",
84
+ "database": "prod_db",
85
+ "ssl": true
86
+ }
59
87
  }
60
88
  }
61
89
  ```
62
90
 
91
+ ### Multiple Connections
92
+
93
+ You can define multiple connections within the `connections` property and use them in the CLI with the `--conn <name>` flag.
94
+
95
+ Example:
96
+ ```bash
97
+ dbutility connect --conn development
98
+ ```
99
+
100
+ ### Configuration Priority
101
+
102
+ The configuration is loaded with the following priority order (higher priority overrides lower):
103
+
104
+ 1. **CLI Flags**: Arguments passed directly to the command (e.g., `-u user`).
105
+ 2. **Configuration File**: Settings in `dbutility.config.json`.
106
+ 3. **Environment Variables**: Variables defined in `.env`.
107
+
108
+ This allows you to have base settings in `.env`, project-specific settings in `dbutility.config.json`, and override specific values (like password) via CLI when needed.
109
+
63
110
  ### Environment Variables (.env)
64
111
 
65
- You can also configure DbUtility using environment variables. JSON file configurations take precedence over environment variables if both are present.
112
+ You can also configure DbUtility using environment variables.
66
113
 
67
114
  ```env
68
115
  # Language (pt-BR, en, es)
@@ -74,79 +121,131 @@ DB_UTILITY_MIGRATIONS_OUTPUT_DIR=my-migrations-dir
74
121
 
75
122
  # Migration File Name Pattern (timestamp-prefix, prefix-timestamp)
76
123
  DB_UTILITY_MIGRATIONS_FILE_NAME_PATTERN=prefix-timestamp
124
+
125
+ # Database Connection (Fallback/Base)
126
+ DB_TYPE=postgres
127
+ DB_HOST=localhost
128
+ DB_PORT=5432
129
+ DB_USER=myuser
130
+ DB_PASSWORD=mypassword
131
+ DB_NAME=mydb
77
132
  ```
78
133
 
79
- ## CLI - Command Line Interface
134
+ ## CLI Commands & Flags
80
135
 
81
136
  > **Security Note**: We strongly recommend using a database user with **read-only** permissions (SELECT) when performing introspection and export operations. This minimizes the risk of accidental data modifications. The DbUtility library only executes metadata queries (database structure) and blocks commands that could modify data or read business table rows.
82
137
 
83
- DbUtility offers a robust CLI to interact with your databases.
138
+ ### Global Options
139
+
140
+ | Flag | Description |
141
+ | --------------- | --------------------------------------------------- |
142
+ | `--init` | Initialize configuration file |
143
+ | `-f, --force` | Force recreation of configuration file if it exists |
144
+ | `-v, --version` | Output the version number |
145
+ | `-h, --help` | Display help for command |
146
+
147
+ ### Connection Options (Available for `connect`, `introspect`, `export`, `migrate`)
148
+
149
+ | Flag | Description |
150
+ | --------------------------- | -------------------------------------------- |
151
+ | `--conn <name>` | Connection name defined in configuration file|
152
+ | `-c, --config <path>` | Path to configuration file |
153
+ | `-t, --type <type>` | Database type (`mysql`, `postgres`, `mssql`) |
154
+ | `-H, --host <host>` | Database host |
155
+ | `-P, --port <port>` | Database port |
156
+ | `-u, --username <username>` | Database username |
157
+ | `-p, --password <password>` | Database password |
158
+ | `-d, --database <database>` | Database name |
159
+ | `--ssl` | Enable SSL connection |
84
160
 
85
- ### Connect to Database
161
+ ### Commands
86
162
 
87
- Test connection to your database.
163
+ #### `connect`
164
+
165
+ Test database connection.
88
166
 
89
167
  ```bash
90
- dbutility connect -t postgres -H localhost -P 5432 -u username -p password -d database_name --ssl
168
+ dbutility connect [connection-options]
91
169
  ```
92
170
 
93
- ### Perform Introspection
171
+ #### `introspect`
94
172
 
95
- Analyze database schema and generate introspection reports.
173
+ Introspect database schema.
96
174
 
97
175
  ```bash
98
- dbutility introspect -t mysql -H localhost -P 3306 -u username -p password -d database_name
176
+ dbutility introspect [connection-options]
99
177
  ```
100
178
 
101
- ### Export Models
179
+ #### `export`
102
180
 
103
- Export database structure to ORM models.
181
+ Export models for target ORM.
104
182
 
105
183
  ```bash
106
- dbutility export --target sequelize --output ./src/models -t postgres ...
184
+ dbutility export --target <orm> [options] [connection-options]
107
185
  ```
108
186
 
109
- ### Generate Migrations
187
+ | Flag | Description | Required |
188
+ | ------------------- | --------------------------------------------------------- | -------- |
189
+ | `--target <target>` | Target ORM (`sequelize`, `typeorm`, `prisma`, `mongoose`) | Yes |
190
+ | `--output <dir>` | Output directory | No |
191
+
192
+ #### `migrations`
110
193
 
111
- Generate migrations from existing database structure. This command cleans the output directory before generating new files.
194
+ Generate migrations from database schema.
112
195
 
113
196
  ```bash
114
- dbutility migrate --target sequelize --output ./migrations -t postgres ...
197
+ dbutility migrations --target <orm> [options] [connection-options]
115
198
  ```
116
199
 
117
- Options:
118
- - `--data`: Generate data migrations (seeds) for specified tables.
119
- - `--only-data`: Generate ONLY data migrations (seeds).
120
- - `--tables <tables>`: Comma-separated list of tables to export data from.
200
+ | Flag | Description | Required |
201
+ | ------------------- | ------------------------------------------------- | ---------------------------------- |
202
+ | `--target <target>` | Target ORM (`sequelize`, `typeorm`) | Yes |
203
+ | `--output <dir>` | Output directory | No |
204
+ | `--data` | Generate data migration (seeds) along with schema | No |
205
+ | `--only-data` | Generate ONLY data migrations | No |
206
+ | `--tables <tables>` | Comma-separated list of tables for data export | Yes (if `--data` or `--only-data`) |
121
207
 
122
- When using `--data`, seed files are generated immediately after their corresponding table creation migration.
208
+ #### `test`
123
209
 
124
- ### Test Migrations
210
+ Test generated migrations in Docker containers.
125
211
 
126
- Test generated migrations using Docker containers.
212
+ ```bash
213
+ dbutility test --target <orm> [options]
214
+ ```
127
215
 
216
+ | Flag | Description | Required |
217
+ | --------------------- | --------------------------------------------------- | -------- |
218
+ | `--target <target>` | Target ORM (`sequelize`, `typeorm`) | Yes |
219
+ | `--dir <dir>` | Directory containing migrations | No |
220
+ | `--engines <engines>` | Docker images to test (e.g., `postgres:14,mysql:8`) | No |
221
+ | `--backup` | Export database backup from container after test | No |
222
+
223
+ ## Usage Examples
224
+
225
+ ### Connect to a database using a named connection
128
226
  ```bash
129
- dbutility test --target sequelize --dir ./migrations/sequelize --engines postgres:14
227
+ dbutility connect --conn production
130
228
  ```
131
229
 
132
- Options:
133
- - `--target <target>`: Target ORM (sequelize, typeorm).
134
- - `--dir <dir>`: Directory containing migrations (optional).
135
- - `--engines <engines>`: Comma-separated list of database engines to test (e.g., postgres:14, mysql:8). If omitted, it tries to read `database-info.json` generated by the migrate command.
230
+ ### Introspect a database using inline connection parameters
231
+ ```bash
232
+ dbutility introspect --type postgres --host localhost --username myuser --password mypass --database mydb
233
+ ```
136
234
 
137
- Requirements:
138
- - Docker must be installed and running.
235
+ ### Export Sequelize models from a specific connection
236
+ ```bash
237
+ dbutility export --target sequelize --conn development --output ./src/models
238
+ ```
139
239
 
140
- ### CLI Options
240
+ ### Generate TypeORM migrations from a specific connection
241
+ ```bash
242
+ dbutility migrations --target typeorm --conn production
243
+ ```
141
244
 
142
- - `-t, --type <type>`: Database type (postgres, mysql, mssql)
143
- - `-H, --host <host>`: Database host
144
- - `-P, --port <port>`: Database port
145
- - `-u, --username <username>`: Database username
146
- - `-p, --password <password>`: Database password
147
- - `-d, --database <database>`: Database name
148
- - `--ssl`: Enable SSL (optional)
149
- - `-c, --config <path>`: Path to a specific configuration file
245
+ ### Generate Data Migrations (Seeds)
246
+ ```bash
247
+ dbutility migrations --target sequelize --conn development --data --tables "users,roles"
248
+ ```
150
249
 
151
250
  ## License
152
251
 
package/README.pt-BR.md CHANGED
@@ -45,7 +45,7 @@ dbutility --init --force
45
45
 
46
46
  ### Arquivo de Configuração (dbutility.config.json)
47
47
 
48
- O arquivo de configuração permite definir o idioma da CLI, diretórios de saída e padrões de nomenclatura.
48
+ O arquivo de configuração permite definir o idioma da CLI, diretórios de saída, padrões de nomenclatura e configurações de conexão com o banco de dados.
49
49
 
50
50
  ```json
51
51
  {
@@ -56,13 +56,61 @@ O arquivo de configuração permite definir o idioma da CLI, diretórios de saí
56
56
  "migrations": {
57
57
  "outputDir": "db-utility-migrations",
58
58
  "fileNamePattern": "timestamp-prefix"
59
+ },
60
+ "connection": {
61
+ "type": "postgres",
62
+ "host": "localhost",
63
+ "port": 5432,
64
+ "username": "usuario",
65
+ "password": "senha",
66
+ "database": "meubanco",
67
+ "ssl": false
68
+ },
69
+ "connections": {
70
+ "desenvolvimento": {
71
+ "type": "mysql",
72
+ "host": "localhost",
73
+ "port": 3306,
74
+ "username": "root",
75
+ "password": "password",
76
+ "database": "dev_db"
77
+ },
78
+ "producao": {
79
+ "type": "postgres",
80
+ "host": "prod-db",
81
+ "port": 5432,
82
+ "username": "admin",
83
+ "password": "secure_password",
84
+ "database": "prod_db",
85
+ "ssl": true
86
+ }
59
87
  }
60
88
  }
61
89
  ```
62
90
 
91
+ ### Múltiplas Conexões
92
+
93
+ Você pode definir múltiplas conexões dentro da propriedade `connections` e utilizá-las na CLI com a flag `--conn <nome>`.
94
+
95
+ Exemplo:
96
+
97
+ ```bash
98
+ dbutility connect --conn desenvolvimento
99
+ ```
100
+
101
+ ### Prioridade de Configuração
102
+
103
+ A configuração é carregada com a seguinte ordem de prioridade (prioridade mais alta sobrescreve a mais baixa):
104
+
105
+ 1. **Flags da CLI**: Argumentos passados diretamente para o comando (ex: `-u usuario`).
106
+ 2. **Arquivo de Configuração**: Configurações no `dbutility.config.json`.
107
+ 3. **Variáveis de Ambiente**: Variáveis definidas no `.env`.
108
+
109
+ Isso permite ter configurações base no `.env`, configurações específicas do projeto no `dbutility.config.json` e sobrescrever valores específicos (como senha) via CLI quando necessário.
110
+
63
111
  ### Variáveis de Ambiente (.env)
64
112
 
65
- Você também pode configurar o DbUtility usando variáveis de ambiente. As configurações no arquivo JSON têm prioridade sobre as variáveis de ambiente se ambos estiverem presentes.
113
+ Você também pode configurar o DbUtility usando variáveis de ambiente.
66
114
 
67
115
  ```env
68
116
  # Idioma (pt-BR, en, es)
@@ -74,79 +122,136 @@ DB_UTILITY_MIGRATIONS_OUTPUT_DIR=meu-diretorio-migrations
74
122
 
75
123
  # Padrão de Nome de Arquivo de Migration (timestamp-prefix, prefix-timestamp)
76
124
  DB_UTILITY_MIGRATIONS_FILE_NAME_PATTERN=prefix-timestamp
125
+
126
+ # Conexão com Banco de Dados (Fallback/Base)
127
+ DB_TYPE=postgres
128
+ DB_HOST=localhost
129
+ DB_PORT=5432
130
+ DB_USER=usuario
131
+ DB_PASSWORD=senha
132
+ DB_NAME=meubanco
77
133
  ```
78
134
 
79
- ## CLI - Interface de Linha de Comando
135
+ ## Comandos e Flags da CLI
80
136
 
81
137
  > **Nota de Segurança**: Recomendamos fortemente o uso de um usuário de banco de dados com permissões de **somente leitura** (SELECT) para realizar operações de introspecção e exportação. Isso minimiza riscos de alterações acidentais nos dados. A biblioteca DbUtility executa apenas consultas de metadados (estrutura do banco) e bloqueia comandos que possam alterar dados ou ler registros das tabelas de negócio.
82
138
 
83
- O DbUtility oferece uma CLI robusta para interagir com seus bancos de dados.
139
+ ### Opções Globais
140
+
141
+ | Flag | Descrição |
142
+ | --------------- | ---------------------------------------------------------- |
143
+ | `--init` | Inicializa o arquivo de configuração |
144
+ | `-f, --force` | Força a recriação do arquivo de configuração se já existir |
145
+ | `-v, --version` | Exibe o número da versão |
146
+ | `-h, --help` | Exibe ajuda para o comando |
84
147
 
85
- ### Conectar ao Banco de Dados
148
+ ### Opções de Conexão (Disponíveis para `connect`, `introspect`, `export`, `migration`)
86
149
 
87
- Teste a conexão com seu banco de dados.
150
+ | Flag | Descrição |
151
+ | --------------------------- | ----------------------------------------------------- |
152
+ | `--conn <name>` | Nome da conexão definida no arquivo de configuração |
153
+ | `-c, --config <path>` | Caminho para o arquivo de configuração |
154
+ | `-t, --type <type>` | Tipo de banco de dados (`mysql`, `postgres`, `mssql`) |
155
+ | `-H, --host <host>` | Host do banco de dados |
156
+ | `-P, --port <port>` | Porta do banco de dados |
157
+ | `-u, --username <username>` | Usuário do banco de dados |
158
+ | `-p, --password <password>` | Senha do banco de dados |
159
+ | `-d, --database <database>` | Nome do banco de dados |
160
+ | `--ssl` | Habilita conexão SSL |
161
+
162
+ ### Comandos
163
+
164
+ #### `connect`
165
+
166
+ Testa a conexão com o banco de dados.
88
167
 
89
168
  ```bash
90
- dbutility connect -t postgres -H localhost -P 5432 -u usuario -p senha -d banco_dados --ssl
169
+ dbutility connect [opções-conexão]
91
170
  ```
92
171
 
93
- ### Realizar Introspecção
172
+ #### `introspect`
94
173
 
95
- Analise o esquema do banco de dados e gere relatórios de introspecção.
174
+ Faz introspecção no esquema do banco de dados.
96
175
 
97
176
  ```bash
98
- dbutility introspect -t mysql -H localhost -P 3306 -u usuario -p senha -d banco_dados
177
+ dbutility introspect [opções-conexão]
99
178
  ```
100
179
 
101
- ### Exportar Models
180
+ #### `export`
102
181
 
103
- Exporte a estrutura do banco de dados para models de ORM.
182
+ Exporta modelos para o ORM alvo.
104
183
 
105
184
  ```bash
106
- dbutility export --target sequelize --output ./src/models -t postgres ...
185
+ dbutility export --target <orm> [opções] [opções-conexão]
107
186
  ```
108
187
 
109
- ### Gerar Migrations
188
+ | Flag | Descrição | Obrigatório |
189
+ | ------------------- | ------------------------------------------------------- | ----------- |
190
+ | `--target <target>` | ORM alvo (`sequelize`, `typeorm`, `prisma`, `mongoose`) | Sim |
191
+ | `--output <dir>` | Diretório de saída | Não |
192
+
193
+ #### `migrations`
110
194
 
111
- Gere migrations a partir da estrutura existente do banco de dados. Este comando limpa o diretório de saída antes de gerar novos arquivos.
195
+ Gera migrações a partir do esquema do banco de dados.
112
196
 
113
197
  ```bash
114
- dbutility migrate --target sequelize --output ./migrations -t postgres ...
198
+ dbutility migrations --target <orm> [opções] [opções-conexão]
115
199
  ```
116
200
 
117
- Opções:
118
- - `--data`: Gera migrations de dados (seeds) para as tabelas especificadas.
119
- - `--only-data`: Gera APENAS migrations de dados (seeds).
120
- - `--tables <tables>`: Lista de tabelas separadas por vírgula para exportar dados.
201
+ | Flag | Descrição | Obrigatório |
202
+ | ------------------- | --------------------------------------------------------------- | ---------------------------------- |
203
+ | `--target <target>` | ORM alvo (`sequelize`, `typeorm`) | Sim |
204
+ | `--output <dir>` | Diretório de saída | Não |
205
+ | `--data` | Gera migração de dados (seeds) junto com o esquema | Não |
206
+ | `--only-data` | Gera APENAS migração de dados | Não |
207
+ | `--tables <tables>` | Lista de tabelas separadas por vírgula para exportação de dados | Sim (se `--data` ou `--only-data`) |
121
208
 
122
- Ao usar `--data`, os arquivos de seed são gerados imediatamente após a migration de criação da tabela correspondente.
209
+ #### `test`
123
210
 
124
- ### Testar Migrations
211
+ Testa migrações geradas em containers Docker.
125
212
 
126
- Teste as migrations geradas usando containers Docker.
213
+ ```bash
214
+ dbutility test --target <orm> [opções]
215
+ ```
216
+
217
+ | Flag | Descrição | Obrigatório |
218
+ | --------------------- | ---------------------------------------------------------- | ----------- |
219
+ | `--target <target>` | ORM alvo (`sequelize`, `typeorm`) | Sim |
220
+ | `--dir <dir>` | Diretório contendo as migrações | Não |
221
+ | `--engines <engines>` | Imagens Docker para testar (ex: `postgres:14,mysql:8`) | Não |
222
+ | `--backup` | Exporta backup do banco de dados do container após o teste | Não |
223
+
224
+ ## Exemplos de Uso
225
+
226
+ ### Conectar a um banco de dados usando uma conexão nomeada
127
227
 
128
228
  ```bash
129
- dbutility test --target sequelize --dir ./migrations/sequelize --engines postgres:14
229
+ dbutility connect --conn producao
130
230
  ```
131
231
 
132
- Opções:
133
- - `--target <target>`: ORM alvo (sequelize, typeorm).
134
- - `--dir <dir>`: Diretório contendo as migrations (opcional).
135
- - `--engines <engines>`: Lista separada por vírgula de engines de banco de dados para testar (ex: postgres:14, mysql:8). Se omitido, tenta ler `database-info.json` gerado pelo comando migrate.
232
+ ### Fazer introspecção de um banco de dados usando parâmetros de conexão inline
136
233
 
137
- Requisitos:
138
- - Docker deve estar instalado e em execução.
234
+ ```bash
235
+ dbutility introspect --type postgres --host localhost --username usuario --password senha --database meubanco
236
+ ```
139
237
 
140
- ### Opções da CLI
238
+ ### Exportar modelos do Sequelize de uma conexão específica
141
239
 
142
- - `-t, --type <type>`: Tipo de banco de dados (postgres, mysql, mssql)
143
- - `-H, --host <host>`: Host do banco de dados
144
- - `-P, --port <port>`: Porta do banco de dados
145
- - `-u, --username <username>`: Usuário do banco de dados
146
- - `-p, --password <password>`: Senha do banco de dados
147
- - `-d, --database <database>`: Nome do banco de dados
148
- - `--ssl`: Habilitar SSL (opcional)
149
- - `-c, --config <path>`: Caminho para um arquivo de configuração específico
240
+ ```bash
241
+ dbutility export --target sequelize --conn desenvolvimento --output ./src/models
242
+ ```
243
+
244
+ ### Gerar migrações do TypeORM de uma conexão específica
245
+
246
+ ```bash
247
+ dbutility migrations --target typeorm --conn producao
248
+ ```
249
+
250
+ ### Gerar Migrações de Dados (Seeds)
251
+
252
+ ```bash
253
+ dbutility migrations --target sequelize --conn desenvolvimento --data --tables "usuarios,cargos"
254
+ ```
150
255
 
151
256
  ## Licença
152
257
 
@@ -0,0 +1,3 @@
1
+ import { AppConfig } from '../config/AppConfig';
2
+ export declare const resolveMigrationOutputDir: (cwd: string, cliOutputOption: string | undefined, appConfig: AppConfig) => string;
3
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/cli/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,eAAO,MAAM,yBAAyB,GACpC,KAAK,MAAM,EACX,iBAAiB,MAAM,GAAG,SAAS,EACnC,WAAW,SAAS,KACnB,MAUF,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveMigrationOutputDir = void 0;
4
+ const path_1 = require("path");
5
+ const resolveMigrationOutputDir = (cwd, cliOutputOption, appConfig) => {
6
+ if (cliOutputOption) {
7
+ return cliOutputOption;
8
+ }
9
+ if (appConfig.migrations && appConfig.migrations.outputDir) {
10
+ return (0, path_1.join)(cwd, appConfig.migrations.outputDir);
11
+ }
12
+ return (0, path_1.join)(cwd, 'exports', 'generated-migrations');
13
+ };
14
+ exports.resolveMigrationOutputDir = resolveMigrationOutputDir;
15
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/cli/helpers.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAGrB,MAAM,yBAAyB,GAAG,CACvC,GAAW,EACX,eAAmC,EACnC,SAAoB,EACZ,EAAE;IACV,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC3D,OAAO,IAAA,WAAI,EAAC,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,IAAA,WAAI,EAAC,GAAG,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;AACtD,CAAC,CAAC;AAdW,QAAA,yBAAyB,6BAcpC"}
package/dist/cli/index.js CHANGED
@@ -23,6 +23,7 @@ const ContainerManager_1 = require("../testing/ContainerManager");
23
23
  const MigrationTester_1 = require("../testing/MigrationTester");
24
24
  const appConfig = AppConfig_1.AppConfigLoader.load();
25
25
  const messages = (0, messages_1.getMessages)(appConfig.language);
26
+ const helpers_1 = require("./helpers");
26
27
  const getPackageVersion = () => {
27
28
  try {
28
29
  const packageJsonPath = (0, path_1.join)(__dirname, '../../package.json');
@@ -41,7 +42,9 @@ program
41
42
  .version(getPackageVersion());
42
43
  program
43
44
  .option('--init', messages.cli.initOptionDescription)
44
- .option('-f, --force', messages.cli.forceOptionDescription);
45
+ .option('-f, --force', messages.cli.forceOptionDescription)
46
+ .action(() => {
47
+ });
45
48
  const handleCliError = (error) => {
46
49
  if (error instanceof SqlSafety_1.DbUtilitySecurityError) {
47
50
  const text = error.code === 'UNSAFE_OPERATION'
@@ -79,6 +82,9 @@ const handleCliError = (error) => {
79
82
  case 'CONNECTION_FAILED':
80
83
  text = messages.cli.connectionFailed;
81
84
  break;
85
+ case 'CONNECTION_CONFIG_NOT_FOUND':
86
+ text = messages.cli.connectionConfigNotFound(error.details || '?');
87
+ break;
82
88
  default:
83
89
  text = error.message;
84
90
  break;
@@ -92,6 +98,7 @@ const handleCliError = (error) => {
92
98
  };
93
99
  const addConnectionOptions = (cmd) => {
94
100
  return cmd
101
+ .option('--conn <name>', messages.cli.optionConnectionName)
95
102
  .option('-c, --config <path>', messages.cli.optionConfigPath)
96
103
  .option('-t, --type <type>', messages.cli.optionType)
97
104
  .option('-H, --host <host>', messages.cli.optionHost)
@@ -132,7 +139,7 @@ const getConnectionConfig = async (options) => {
132
139
  overrides.database = options.database;
133
140
  if (options.ssl)
134
141
  overrides.ssl = true;
135
- return ConfigLoader_1.ConfigLoader.load(options.config, overrides);
142
+ return ConfigLoader_1.ConfigLoader.load(options.config, overrides, options.conn);
136
143
  };
137
144
  const withConnection = async (options, action) => {
138
145
  let connector = null;
@@ -199,7 +206,7 @@ addConnectionOptions(exportCommand)
199
206
  console.log(`Successfully generated ${files.length} files in ${outputDir}`);
200
207
  });
201
208
  });
202
- const migrateCommand = program.command('migrate').description(messages.cli.migrateDescription);
209
+ const migrateCommand = program.command('migrations').description(messages.cli.migrateDescription);
203
210
  addConnectionOptions(migrateCommand)
204
211
  .option('--target <target>', 'Target ORM: sequelize, typeorm')
205
212
  .option('--output <dir>', 'Output directory')
@@ -235,7 +242,7 @@ addConnectionOptions(migrateCommand)
235
242
  databaseName: config.database,
236
243
  timestamp: new Date().toISOString(),
237
244
  };
238
- const baseOutputDir = options.output || (0, path_1.join)(process.cwd(), 'exports', 'generated-migrations');
245
+ const baseOutputDir = (0, helpers_1.resolveMigrationOutputDir)(process.cwd(), options.output, appConfig);
239
246
  const outputDir = (0, path_1.join)(baseOutputDir, options.target.toLowerCase());
240
247
  if (generateSchema) {
241
248
  if (!('generateMigrations' in generator)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigInitializer.d.ts","sourceRoot":"","sources":["../../src/config/ConfigInitializer.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAwBD,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,UAAU;CAqBpD"}
1
+ {"version":3,"file":"ConfigInitializer.d.ts","sourceRoot":"","sources":["../../src/config/ConfigInitializer.ts"],"names":[],"mappings":"AAKA,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAuDD,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,UAAU;CAqBpD"}
@@ -12,6 +12,35 @@ const defaultConfig = {
12
12
  outputDir: 'db-utility-migrations',
13
13
  fileNamePattern: 'timestamp-prefix',
14
14
  },
15
+ connection: {
16
+ type: 'mysql',
17
+ host: 'localhost',
18
+ port: 3306,
19
+ username: 'root',
20
+ password: 'password',
21
+ database: 'database_name',
22
+ ssl: false,
23
+ },
24
+ connections: {
25
+ development: {
26
+ type: 'mysql',
27
+ host: 'localhost',
28
+ port: 3306,
29
+ username: 'root',
30
+ password: 'password',
31
+ database: 'dev_db',
32
+ ssl: false,
33
+ },
34
+ production: {
35
+ type: 'postgres',
36
+ host: 'prod-db-host',
37
+ port: 5432,
38
+ username: 'prod_user',
39
+ password: 'secure_password',
40
+ database: 'prod_db',
41
+ ssl: true,
42
+ },
43
+ },
15
44
  };
16
45
  class ConfigInitializer {
17
46
  static init(cwd, force = false) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigInitializer.js","sourceRoot":"","sources":["../../src/config/ConfigInitializer.ts"],"names":[],"mappings":";;;AAAA,2BAA+C;AAC/C,+BAA4B;AAoB5B,MAAM,aAAa,GAAsB;IACvC,QAAQ,EAAE,OAAO;IACjB,aAAa,EAAE;QACb,SAAS,EAAE,uBAAuB;KACnC;IACD,UAAU,EAAE;QACV,SAAS,EAAE,uBAAuB;QAClC,eAAe,EAAE,kBAAkB;KACpC;CACF,CAAC;AAEF,MAAa,iBAAiB;IAC5B,MAAM,CAAC,IAAI,CAAC,GAAW,EAAE,KAAK,GAAG,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,KAAK;aACjB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,IAAA,kBAAa,EAAC,QAAQ,EAAE,GAAG,OAAO,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,MAAM;SAClB,CAAC;IACJ,CAAC;CACF;AAtBD,8CAsBC"}
1
+ {"version":3,"file":"ConfigInitializer.js","sourceRoot":"","sources":["../../src/config/ConfigInitializer.ts"],"names":[],"mappings":";;;AAAA,2BAA+C;AAC/C,+BAA4B;AAuB5B,MAAM,aAAa,GAAsB;IACvC,QAAQ,EAAE,OAAO;IACjB,aAAa,EAAE;QACb,SAAS,EAAE,uBAAuB;KACnC;IACD,UAAU,EAAE;QACV,SAAS,EAAE,uBAAuB;QAClC,eAAe,EAAE,kBAAkB;KACpC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,eAAe;QACzB,GAAG,EAAE,KAAK;KACX;IACD,WAAW,EAAE;QACX,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,KAAK;SACX;QACD,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE,SAAS;YACnB,GAAG,EAAE,IAAI;SACV;KACF;CACF,CAAC;AAEF,MAAa,iBAAiB;IAC5B,MAAM,CAAC,IAAI,CAAC,GAAW,EAAE,KAAK,GAAG,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,KAAK;aACjB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,IAAA,kBAAa,EAAC,QAAQ,EAAE,GAAG,OAAO,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,MAAM;SAClB,CAAC;IACJ,CAAC;CACF;AAtBD,8CAsBC"}
@@ -1,7 +1,7 @@
1
1
  import { DatabaseConfig } from '../types/database';
2
2
  export declare class ConfigLoader {
3
- static load(configPath?: string, overrides?: Partial<DatabaseConfig>): Promise<DatabaseConfig>;
4
- private static loadFromFile;
5
- private static loadFromEnv;
3
+ static load(configPath?: string, overrides?: Partial<DatabaseConfig>, connectionName?: string): Promise<DatabaseConfig>;
4
+ private static loadFromFileRaw;
5
+ private static loadFromEnvRaw;
6
6
  }
7
7
  //# sourceMappingURL=ConfigLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigLoader.d.ts","sourceRoot":"","sources":["../../src/config/ConfigLoader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAC;AAKjE,qBAAa,YAAY;WACV,IAAI,CACf,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAClC,OAAO,CAAC,cAAc,CAAC;mBAoDL,YAAY;IAmBjC,OAAO,CAAC,MAAM,CAAC,WAAW;CAiC3B"}
1
+ {"version":3,"file":"ConfigLoader.d.ts","sourceRoot":"","sources":["../../src/config/ConfigLoader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAC;AAKjE,qBAAa,YAAY;WACV,IAAI,CACf,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EACnC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC;mBAwEL,eAAe;IAmBpC,OAAO,CAAC,MAAM,CAAC,cAAc;CA6B9B"}
@@ -10,43 +10,61 @@ const path_1 = require("path");
10
10
  const DbUtilityError_1 = require("../errors/DbUtilityError");
11
11
  dotenv_1.default.config();
12
12
  class ConfigLoader {
13
- static async load(configPath, overrides) {
14
- let config;
15
- if (configPath) {
16
- config = await this.loadFromFile(configPath);
17
- }
18
- else {
19
- const defaultFiles = ['db-utility.config.js', 'db-utility.config.json', '.db-utilityrc'];
20
- let found = false;
21
- config = {};
13
+ static async load(configPath, overrides, connectionName) {
14
+ const envConfig = this.loadFromEnvRaw();
15
+ let fileConfig = {};
16
+ const defaultFiles = ['dbutility.config.json', 'db-utility.config.json', '.db-utilityrc'];
17
+ let path = configPath;
18
+ if (!path) {
22
19
  for (const file of defaultFiles) {
23
- const path = (0, path_1.resolve)(process.cwd(), file);
24
- if ((0, fs_1.existsSync)(path)) {
25
- config = await this.loadFromFile(path);
26
- found = true;
20
+ const p = (0, path_1.resolve)(process.cwd(), file);
21
+ if ((0, fs_1.existsSync)(p)) {
22
+ path = p;
27
23
  break;
28
24
  }
29
25
  }
30
- if (!found) {
31
- try {
32
- config = this.loadFromEnv();
33
- }
34
- catch (error) {
35
- if (!overrides || Object.keys(overrides).length === 0) {
36
- throw error;
26
+ }
27
+ if (path) {
28
+ const rawFile = await this.loadFromFileRaw(path);
29
+ if (rawFile && typeof rawFile === 'object') {
30
+ if (connectionName) {
31
+ if (rawFile.connections &&
32
+ typeof rawFile.connections === 'object' &&
33
+ rawFile.connections[connectionName]) {
34
+ fileConfig = rawFile.connections[connectionName];
37
35
  }
36
+ else {
37
+ throw new DbUtilityError_1.DbUtilityError('CONNECTION_CONFIG_NOT_FOUND', connectionName);
38
+ }
39
+ }
40
+ else if ('connection' in rawFile && typeof rawFile.connection === 'object') {
41
+ fileConfig = rawFile.connection;
42
+ }
43
+ else if ('type' in rawFile || 'connectionString' in rawFile) {
44
+ fileConfig = rawFile;
38
45
  }
39
46
  }
40
47
  }
41
- if (overrides) {
42
- config = { ...config, ...overrides };
43
- }
44
- if (!config.type && !config.connectionString) {
48
+ const merge = (key) => {
49
+ const val = overrides?.[key] ?? fileConfig[key] ?? envConfig[key];
50
+ return val;
51
+ };
52
+ const finalConfig = {
53
+ type: merge('type'),
54
+ host: merge('host'),
55
+ port: merge('port'),
56
+ username: merge('username'),
57
+ password: merge('password'),
58
+ database: merge('database'),
59
+ ssl: merge('ssl'),
60
+ connectionString: merge('connectionString'),
61
+ };
62
+ if (!finalConfig.type && !finalConfig.connectionString) {
45
63
  throw new DbUtilityError_1.DbUtilityError('CONFIG_DB_TYPE_OR_CONNECTION_STRING_REQUIRED');
46
64
  }
47
- return config;
65
+ return finalConfig;
48
66
  }
49
- static async loadFromFile(path) {
67
+ static async loadFromFileRaw(path) {
50
68
  const absolutePath = (0, path_1.resolve)(process.cwd(), path);
51
69
  if (!(0, fs_1.existsSync)(absolutePath)) {
52
70
  throw new DbUtilityError_1.DbUtilityError('CONFIG_FILE_NOT_FOUND', absolutePath);
@@ -62,11 +80,8 @@ class ConfigLoader {
62
80
  }
63
81
  throw new DbUtilityError_1.DbUtilityError('CONFIG_FILE_FORMAT_UNSUPPORTED', ext);
64
82
  }
65
- static loadFromEnv() {
83
+ static loadFromEnvRaw() {
66
84
  const dbType = process.env.DBUTILITY_DB_TYPE || process.env.DB_TYPE;
67
- if (!dbType) {
68
- throw new DbUtilityError_1.DbUtilityError('CONFIG_DB_TYPE_REQUIRED');
69
- }
70
85
  const host = process.env.DBUTILITY_DB_HOST || process.env.DB_HOST;
71
86
  const portStr = process.env.DBUTILITY_DB_PORT || process.env.DB_PORT;
72
87
  const username = process.env.DBUTILITY_DB_USER ||
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../../src/config/ConfigLoader.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,2BAA8C;AAC9C,+BAAwC;AAExC,6DAA0D;AAE1D,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAa,YAAY;IACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,UAAmB,EACnB,SAAmC;QAEnC,IAAI,MAAsB,CAAC;QAE3B,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YAEN,MAAM,YAAY,GAAG,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,eAAe,CAAC,CAAC;YACzF,IAAI,KAAK,GAAG,KAAK,CAAC;YAIlB,MAAM,GAAG,EAAoB,CAAC;YAE9B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC1C,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACvC,KAAK,GAAG,IAAI,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBAIX,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAGf,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtD,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAGD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;QACvC,CAAC;QAGD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7C,MAAM,IAAI,+BAAc,CAAC,8CAA8C,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAY;QAC5C,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,+BAAc,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,YAAY,CAAC,CAAC;QAClC,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;QAC/C,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;YACrC,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,+BAAc,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;IAEO,MAAM,CAAC,WAAW;QACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,+BAAc,CAAC,yBAAyB,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAClE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACrE,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAC7B,OAAO,CAAC,GAAG,CAAC,qBAAqB;YACjC,OAAO,CAAC,GAAG,CAAC,OAAO;YACnB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC9E,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAC7B,OAAO,CAAC,GAAG,CAAC,qBAAqB;YACjC,OAAO,CAAC,GAAG,CAAC,OAAO;YACnB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC1B,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAEjF,OAAO;YACL,IAAI,EAAE,MAAsB;YAC5B,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YACjD,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,gBAAgB;SACjB,CAAC;IACJ,CAAC;CACF;AA5GD,oCA4GC"}
1
+ {"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../../src/config/ConfigLoader.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type DbUtilityErrorCode = 'INTROSPECTION_DB_TYPE_REQUIRED' | 'INTROSPECTION_DB_TYPE_UNSUPPORTED' | 'APP_CONFIG_FILE_NOT_FOUND' | 'APP_CONFIG_FILE_FORMAT_UNSUPPORTED' | 'CONFIG_FILE_NOT_FOUND' | 'CONFIG_FILE_FORMAT_UNSUPPORTED' | 'CONFIG_DB_TYPE_OR_CONNECTION_STRING_REQUIRED' | 'CONFIG_DB_TYPE_REQUIRED' | 'CONNECTION_FAILED';
1
+ export type DbUtilityErrorCode = 'INTROSPECTION_DB_TYPE_REQUIRED' | 'INTROSPECTION_DB_TYPE_UNSUPPORTED' | 'APP_CONFIG_FILE_NOT_FOUND' | 'APP_CONFIG_FILE_FORMAT_UNSUPPORTED' | 'CONFIG_FILE_NOT_FOUND' | 'CONFIG_FILE_FORMAT_UNSUPPORTED' | 'CONFIG_DB_TYPE_OR_CONNECTION_STRING_REQUIRED' | 'CONFIG_DB_TYPE_REQUIRED' | 'CONNECTION_FAILED' | 'CONNECTION_CONFIG_NOT_FOUND';
2
2
  export declare class DbUtilityError extends Error {
3
3
  code: DbUtilityErrorCode;
4
4
  details?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DbUtilityError.d.ts","sourceRoot":"","sources":["../../src/errors/DbUtilityError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC1B,gCAAgC,GAChC,mCAAmC,GACnC,2BAA2B,GAC3B,oCAAoC,GACpC,uBAAuB,GACvB,gCAAgC,GAChC,8CAA8C,GAC9C,yBAAyB,GACzB,mBAAmB,CAAC;AAExB,qBAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM;CAMvD"}
1
+ {"version":3,"file":"DbUtilityError.d.ts","sourceRoot":"","sources":["../../src/errors/DbUtilityError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC1B,gCAAgC,GAChC,mCAAmC,GACnC,2BAA2B,GAC3B,oCAAoC,GACpC,uBAAuB,GACvB,gCAAgC,GAChC,8CAA8C,GAC9C,yBAAyB,GACzB,mBAAmB,GACnB,6BAA6B,CAAC;AAElC,qBAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM;CAMvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"DbUtilityError.js","sourceRoot":"","sources":["../../src/errors/DbUtilityError.ts"],"names":[],"mappings":";;;AAWA,MAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,CAAqB;IACzB,OAAO,CAAU;IAEjB,YAAY,IAAwB,EAAE,OAAgB;QACpD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAVD,wCAUC"}
1
+ {"version":3,"file":"DbUtilityError.js","sourceRoot":"","sources":["../../src/errors/DbUtilityError.ts"],"names":[],"mappings":";;;AAYA,MAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,CAAqB;IACzB,OAAO,CAAU;IAEjB,YAAY,IAAwB,EAAE,OAAgB;QACpD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAVD,wCAUC"}
@@ -15,6 +15,7 @@ export interface CliMessages {
15
15
  optionPassword: string;
16
16
  optionDatabase: string;
17
17
  optionSsl: string;
18
+ optionConnectionName: string;
18
19
  loadingConfig: string;
19
20
  connecting: (dbType: string) => string;
20
21
  connectSuccess: string;
@@ -40,6 +41,7 @@ export interface CliMessages {
40
41
  configFileFormatUnsupported: (ext: string) => string;
41
42
  configDbTypeOrConnectionStringRequired: string;
42
43
  configDbTypeRequired: string;
44
+ connectionConfigNotFound: (name: string) => string;
43
45
  connectionFailed: string;
44
46
  }
45
47
  export interface Messages {
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;IACnC,2BAA2B,EAAE,MAAM,CAAC;IACpC,2BAA2B,EAAE,MAAM,CAAC;IACpC,8BAA8B,EAAE,MAAM,CAAC;IACvC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,8BAA8B,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,2BAA2B,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD,sCAAsC,EAAE,MAAM,CAAC;IAC/C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,WAAW,CAAC;CAClB;AA4KD,eAAO,MAAM,WAAW,GAAI,UAAU,WAAW,KAAG,QAUnD,CAAC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;IACnC,2BAA2B,EAAE,MAAM,CAAC;IACpC,2BAA2B,EAAE,MAAM,CAAC;IACpC,8BAA8B,EAAE,MAAM,CAAC;IACvC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,8BAA8B,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,2BAA2B,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD,sCAAsC,EAAE,MAAM,CAAC;IAC/C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,WAAW,CAAC;CAClB;AAqLD,eAAO,MAAM,WAAW,GAAI,UAAU,WAAW,KAAG,QAUnD,CAAC"}
@@ -18,6 +18,7 @@ const ptBrMessages = {
18
18
  optionPassword: 'Senha do banco de dados',
19
19
  optionDatabase: 'Nome do banco de dados',
20
20
  optionSsl: 'Habilitar SSL',
21
+ optionConnectionName: 'Nome da conexão no arquivo de configuração',
21
22
  loadingConfig: 'Carregando configuração...',
22
23
  connecting: (dbType) => `Tentando conectar ao banco de dados ${dbType}...`,
23
24
  connectSuccess: '✅ Conexão estabelecida com sucesso!',
@@ -43,6 +44,7 @@ const ptBrMessages = {
43
44
  configFileFormatUnsupported: (ext) => `Formato de arquivo não suportado: ${ext}`,
44
45
  configDbTypeOrConnectionStringRequired: 'Tipo de banco de dados (type) ou connectionString é obrigatório.',
45
46
  configDbTypeRequired: 'Configuração de banco de dados não encontrada. Defina as variáveis de ambiente ou crie um arquivo de configuração.',
47
+ connectionConfigNotFound: (name) => `Conexão "${name}" não encontrada no arquivo de configuração.`,
46
48
  connectionFailed: 'Conexão não estabelecida',
47
49
  },
48
50
  };
@@ -63,6 +65,7 @@ const enMessages = {
63
65
  optionPassword: 'Database password',
64
66
  optionDatabase: 'Database name',
65
67
  optionSsl: 'Enable SSL',
68
+ optionConnectionName: 'Connection name in configuration file',
66
69
  loadingConfig: 'Loading configuration...',
67
70
  connecting: (dbType) => `Trying to connect to ${dbType} database...`,
68
71
  connectSuccess: '✅ Connection established successfully!',
@@ -88,6 +91,7 @@ const enMessages = {
88
91
  configFileFormatUnsupported: (ext) => `File format not supported: ${ext}`,
89
92
  configDbTypeOrConnectionStringRequired: 'Database type (type) or connectionString is required.',
90
93
  configDbTypeRequired: 'Database configuration not found. Set environment variables or create a configuration file.',
94
+ connectionConfigNotFound: (name) => `Connection "${name}" not found in configuration file.`,
91
95
  connectionFailed: 'Connection not established',
92
96
  },
93
97
  };
@@ -108,6 +112,7 @@ const esMessages = {
108
112
  optionPassword: 'Contraseña de la base de datos',
109
113
  optionDatabase: 'Nombre de la base de datos',
110
114
  optionSsl: 'Habilitar SSL',
115
+ optionConnectionName: 'Nombre de la conexión en el archivo de configuración',
111
116
  loadingConfig: 'Cargando configuración...',
112
117
  connecting: (dbType) => `Intentando conectar a la base de datos ${dbType}...`,
113
118
  connectSuccess: '✅ Conexión establecida con éxito.',
@@ -133,6 +138,7 @@ const esMessages = {
133
138
  configFileFormatUnsupported: (ext) => `Formato de archivo no soportado: ${ext}`,
134
139
  configDbTypeOrConnectionStringRequired: 'El tipo de base de datos (type) o connectionString es obligatorio.',
135
140
  configDbTypeRequired: 'Configuración de base de datos no encontrada. Defina las variables de entorno o cree un archivo de configuración.',
141
+ connectionConfigNotFound: (name) => `Conexión "${name}" no encontrada en el archivo de configuración.`,
136
142
  connectionFailed: 'Conexión no establecida',
137
143
  },
138
144
  };
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codemastersolutions/db-utility",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "Database utility for migrations, seeders, factories, introspection and more...",
5
5
  "files": [
6
6
  "dist",