Appsmith — потужний інструмент для швидкого створення внутрішніх інструментів. Однак при підключенні до баз даних навіть досвідчені розробники допускають помилки: невірні параметри хоста, помилки сертифіката SSL, неоптимальні права користувача. В одному проекті клієнт витратив цілий день на налаштування PostgreSQL, тому що не ввімкнув prepared statements. Ми на основі нашого 5-річного досвіду знаємо, як уникнути цих проблем. У цій статті ми розберемо, як правильно підключити бази даних до Appsmith — від конфігурації Datasource до оптимізації запитів. Без правильного налаштування ви ризикуєте отримати повільні запити, вразливості та часті помилки підключення. За нашою статистикою, 60% витоків даних відбувається через неправильне налаштування підключення до БД. Наші інженери допоможуть вам заощадити бюджет і час.
Які бази даних підтримує Appsmith?
Appsmith підтримує всі основні СУБД: PostgreSQL, MySQL, MariaDB, Microsoft SQL Server, Oracle, MongoDB, Redis, Elasticsearch, Amazon S3, Google Sheets, DynamoDB. Кожен джерело налаштовується окремим Datasource. Для SQL використовується прямий JDBC-драйвер, для NoSQL — REST API або спеціальні конектори. Детальніше читайте в офіційній документації Appsmith за Datasources.
Як підключити PostgreSQL до Appsmith?
В Appsmith → Explorer → Datasources → New Datasource → PostgreSQL:
Host: 10.0.1.50
Port: 5432
Database: production_db
Username: appsmith_user
Password: ****
SSL Mode: verify-full
SSL Certificate: [вставити cert]
Користувач з мінімальними правами:
CREATE USER appsmith_user WITH PASSWORD 'password';
GRANT CONNECT ON DATABASE production_db TO appsmith_user;
GRANT USAGE ON SCHEMA public TO appsmith_user;
-- Тільки потрібні таблиці
GRANT SELECT, UPDATE ON users TO appsmith_user;
GRANT SELECT ON orders TO appsmith_user;
GRANT SELECT, INSERT ON support_notes TO appsmith_user;
Такий підхід знижує ризик витоку даних — якщо зламають Appsmith, зловмисник не зможе видалити таблиці.
SSL шифрує трафік між Appsmith та базою даних. Без нього всі запити передаються у відкритому вигляді, що критично для production. Ми рекомендуємо використовувати verify-full — так перевіряється і сертифікат сервера. А використання prepared statements (параметризованих запитів) автоматично захищає від SQL-ін'єкцій.
Як працювати з MongoDB в Appsmith?
MongoDB підключається аналогічно, але без prepared statements — замість них використовується параметризація через вбудований драйвер. Агрегаційні запити підтримуються повністю. Приклад фільтрації та сортування з look-up:
{
"aggregate": "orders",
"pipeline": [
{ "$match": {
"customerId": "{{ userIdInput.text }}",
"status": { "$in": {{ statusFilter.selectedOptionValues }} }
}},
{ "$sort": { "createdAt": -1 } },
{ "$limit": 20 },
{ "$lookup": {
"from": "products",
"localField": "items.productId",
"foreignField": "_id",
"as": "productDetails"
}}
]
}
Це економить до 70% часу розробки порівняно з ручним REST API.
Порівняння підтримуваних баз даних
| База даних | Тип | Підтримка SSL | Prepared Statements |
|---|---|---|---|
| PostgreSQL | SQL | Так | Так |
| MySQL | SQL | Так | Так |
| MariaDB | SQL | Так | Так |
| Microsoft SQL Server | SQL | Так | Так |
| Oracle | SQL | Так | Так |
| MongoDB | NoSQL | Так | Ні (використовується параметризація) |
| Redis | NoSQL | Ні | Ні |
| Elasticsearch | NoSQL | Так | Ні |
| Amazon S3 | Object | Так | Ні |
| Google Sheets | SaaS | Так | Ні |
| DynamoDB | NoSQL | Так | Ні |
Чому prepared statements обов'язкові?
Appsmith автоматично використовує prepared statements для SQL-запитів при увімкненій опції «Use Prepared Statements». Це запобігає SQL-ін'єкціям при підстановці користувацького вводу. Згідно з OWASP, prepared statements — один з найефективніших методів захисту. Appsmith в цій ситуації виграє у прямих REST API запитів, де безпеку доводиться реалізовувати вручну. Використання prepared statements у 2–3 рази знижує ризик витоку даних. Наші інженери налаштовують Datasource з prepared statements за замовчуванням.
Що входить в роботу з налаштування Appsmith?
Ми пропонуємо підключення під ключ: аналізуємо схему бази даних, створюємо користувача з мінімальними правами, налаштовуємо Datasource з SSL та prepared statements, пишемо 5–10 базових запитів (CRUD, фільтрація, пагінація). Все документуємо і навчаємо команду.
Appsmith vs прямий REST API: порівняння
| Параметр | Appsmith з prepared statements | Прямий REST API |
|---|---|---|
| Безпека | Автоматичний захист від ін'єкцій | Вимагає ручної валідації |
| Швидкість розробки | 1 день на підключення | 3–5 днів |
| Гнучкість запитів | SQL та NoSQL агрегації | Тільки попередньо визначені endpoints |
Appsmith кращий у 3 рази за швидкістю розробки та забезпечує надійний захист без додаткових зусиль.
Як ми налаштовуємо підключення: процес роботи
- Аналіз схеми бази даних — вивчаємо структуру, виділяємо таблиці для інтерфейсу.
- Створення користувача з мінімальними правами — надаємо лише необхідні привілеї (SELECT, UPDATE, INSERT).
- Налаштування Datasource — вказуємо параметри підключення, вмикаємо SSL та prepared statements.
- Тестування запитів — перевіряємо безпеку та продуктивність.
- Документація — передаємо скрипти створення користувача, параметри підключення та приклади запитів.
Терміни орієнтовно
Підключення та створення перших 5–10 запитів займає від 1 дня. Якщо потрібна міграція даних або складна логіка, термін збільшується до 3 днів.
Що входить в роботу
- Повна документація підключення (схема, права, Datasource).
- Скрипти створення користувачів БД.
- Налаштований Datasource з увімкненими prepared statements.
- 5–10 базових запитів (CRUD, фільтрація, пагінація).
- Навчання команди роботі з Appsmith.
- Підтримка протягом тижня після налаштування.
Досвід нашої команди — 5+ років у веб-розробці, понад 30 проектів з Appsmith. Ми гарантуємо безпечне та продуктивне підключення. Оцінимо ваш проект безкоштовно. Замовте налаштування Appsmith під вашу базу даних за 1 день. Отримайте консультацію прямо зараз — зв'яжіться з нами.







