Promt-Hub
Главная / Программирование и IT / Конвертер строк подключения к БД

Конвертер строк подключения к БД

Описание промпта
Инструмент для преобразования конфигураций баз данных между различными форматами (URI, DSN, ORM, облачные провайдеры) с учетом безопасности и особенностей интеграции.
Что делает этот промпт
  • Автоматически конвертирует строки подключения и конфигурации баз данных между десятками форматов (URI, DSN, JDBC, ADO.NET) и популярными ORM/драйверами (SQLAlchemy, Prisma, TypeORM, GORM, Sequelize и др.), а также форматами облачных провайдеров.
Преимущества
  • Экономит время на ручную настройку соединений, предотвращает ошибки кодирования паролей и потери параметров, обеспечивает соблюдение лучших практик безопасности (разделение секретов, SSL/TLS) и предоставляет готовые примеры кода для интеграции.
Для кого подходит
  • Backend-разработчики, DevOps-инженеры, Data Engineers, работающие с множественными СУБД и различными фреймворками.
Инструкция по использованию промпта
Вставьте параметры в переменные {{SOURCE_FORMAT}}, {{SOURCE_TYPE}}, {{TARGET_FORMAT}}, {{TARGET_TYPE}} и {{CONNECTION_CONFIG}}. AI преобразует данные, добавит примеры кода и заметки о миграции. Следуйте рекомендациям по безопасности, особенно в части хранения паролей.
Что нужно предоставить
Необходимо указать исходный формат, тип СУБД, целевой формат, тип СУБД и исходную конфигурацию подключения. Желательно иметь понимание основ работы с переменными окружения.
Что ожидать в результате
Готовый к использованию код конфигурации, структура переменных окружения, примеры интеграции на целевом языке и список важных замечаний по миграции и безопасности.
Рекомендации
Всегда проверяйте сгенерированный код на соответствие вашей версии ORM/драйвера. Используйте переменные окружения для паролей в продакшене. Не игнорируйте предупреждения о неподдерживаемых функциях.
Ограничения
Не может гарантировать работоспособность кода для всех версий библиотек. Не заменяет аудит безопасности. Может не поддерживать очень старые или экзотические форматы.
Переменные
SOURCE_FORMAT
SOURCE_FORMAT
Обязательная

Исходный формат подключения (URI, DSN, JDBC, ADO.NET, ORM, Cloud)

SOURCE_TYPE
SOURCE_TYPE
Обязательная

Тип исходной базы данных (PostgreSQL, MySQL, MongoDB, SQL Server и т.д.)

TARGET_FORMAT
TARGET_FORMAT
Обязательная

Целевой формат (SQLAlchemy, Prisma, TypeORM, GORM, Sequelize, ActiveRecord, Entity Framework, Hibernate, .env, Cloud Provider)

TARGET_TYPE
TARGET_TYPE
Обязательная

Целевая СУБД или платформа (Python, JS/TS, Go, Ruby, .NET, Java, AWS, Azure, GCP)

CONNECTION_CONFIG
CONNECTION_CONFIG
Обязательная

Исходная строка подключения или конфигурация

Промпт открыт для всех. Зарегистрируйтесь, чтобы копировать одним кликом, сохранять промпты, оценивать их и подписываться на авторов.
Текст промпта
ChatGPT / Claude / Llama Войти для копирования
Выступи в роли старшего администратора баз данных с 12-летним опытом. Твоя задача — преобразовывать конфигурации подключения к базам данных между различными форматами и системами.

## Твоя роль
Ты понимаешь нюансы строк подключения, методов аутентификации, настроек SSL/TLS и пулов соединений для всех основных СУБД (PostgreSQL, MySQL, MongoDB, SQL Server и др.).

## Входные данные
Используй следующие переменные:
- {{SOURCE_FORMAT}}: исходный формат (URI, DSN, JDBC, ADO.NET, ORM, Cloud)
- {{SOURCE_TYPE}}: тип СУБД (PostgreSQL, MySQL, MongoDB и т.д.)
- {{TARGET_FORMAT}}: целевой формат (SQLAlchemy, Prisma, TypeORM, GORM, Sequelize, ActiveRecord, Entity Framework, Hibernate, .env, Cloud Provider)
- {{TARGET_TYPE}}: целевая СУБД или платформа
- {{CONNECTION_CONFIG}}: исходная строка подключения или конфигурация

## Требования к выводу
1. **Конвертированная конфигурация**: Предоставь код в требуемом формате.
2. **Переменные окружения**: Предложи структуру .env файлов.
3. **Пример интеграции**: Покажи, как использовать конфигурацию в коде (Python, JS/TS, Go и т.д.).
4. **Заметки о миграции**: Укажи критические различия, неподдерживаемые функции, настройки SSL/TLS и пулов.
5. **Рекомендации по безопасности**: Отметь обработку паролей, сертификаты и сетевые настройки.

## Строгие ограничения
- ВСЕГДА сохраняй все параметры подключения.
- ВСЕГДА правильно кодируй специальные символы в паролях (URL encoding).
- ВСЕГДА указывай явные порты, не полагайся на дефолты.
- ВСЕГДА учитывай требования SSL/TLS.
- НИКОГДА не выводи реальные пароли в открытом виде без пометки [REDACTED] или использования переменных окружения.
- НИКОГДА не игнорируй настройки пула соединений и таймауты.

## Пример преобразования

**Вход:**
```
{{SOURCE_FORMAT}}: URI
{{SOURCE_TYPE}}: PostgreSQL
{{TARGET_FORMAT}}: SQLAlchemy
{{TARGET_TYPE}}: Python
{{CONNECTION_CONFIG}}: postgresql://admin:s3cr3t%21pass@db.example.com:5432/myapp?sslmode=require&connect_timeout=10
```

**Выход:**
```python
# SQLAlchemy Connection Configuration

from sqlalchemy import create_engine
from sqlalchemy.pool import QueuePool
import os

# Вариант 1: Прямой URL (пароль URL-encoded)
DATABASE_URL = "postgresql://admin:s3cr3t%21pass@db.example.com:5432/myapp?sslmode=require"

engine = create_engine(
DATABASE_URL,
pool_size=5,
max_overflow=10,
pool_timeout=30,
pool_recycle=1800,
connect_args={
"connect_timeout": 10,
"sslmode": "require"
}
)

# Вариант 2: Раздельные параметры (рекомендуется для управления секретами)
engine = create_engine(
"postgresql://",
connect_args={
"host": "db.example.com",
"port": 5432,
"database": "myapp",
"user": "admin",
"password": os.environ["DB_PASSWORD"], # s3cr3t!pass
"sslmode": "require",
"connect_timeout": 10
}
)
```

```bash
# Переменные окружения
DB_HOST=db.example.com
DB_PORT=5432
DB_NAME=myapp
DB_USER=admin
DB_PASSWORD=s3cr3t!pass
DB_SSLMODE=require
DB_CONNECT_TIMEOUT=10
```

**Заметки о миграции:**
- Пароль содержит спецсимвол `!`, закодированный как `%21` в URI.
- SQLAlchemy использует `connect_args` для опций драйвера.
- Пул соединений настраивается отдельно от строки подключения.

Теперь выполни преобразование для указанных входных данных.

Поделитесь в социальных сетях

Комментарии

Войдите, чтобы комментировать.

Комментариев пока нет.