Обновить README.md

This commit is contained in:
naeel 2026-02-17 08:32:20 +03:00
parent f167adce15
commit 76e099150d

View File

@ -1,41 +1,16 @@
Тестовая обкатка работоспособности Lucee с БД
==============================================
# Nubes Lucee CRUD Demo
Упрощенный вариант без создания БД и таблиц - проверим только коннект
Демонстрационное приложение для облачной платформы Nubes, демонстрирующее интеграцию Lucee (Tomcat/CFML) и PostgreSQL.
*Проходим ряд этапов*
### Функционал
- Динамическая конфигурация DataSource через переменные окружения Terraform.
- Полный цикл CRUD (Create, Read, Update, Delete) для таблицы `nubes_test_table`.
- Автоматическая инициализация схемы данных при запуске приложения.
1) Разворачиваем PostgreSQL
2) Подключаемся к ней и делаем
### Развертывание
Приложение разворачивается через Terraform ресурс `nubes_lucee`. Все параметры подключения к базе данных передаются через `json_env` с префиксом `testds_`.
```sh
ALTER SYSTEM SET password_encryption = 'scram-sha-256';
SELECT pg_reload_conf();
CREATE USER myuser WITH PASSWORD 'password12345';
CREATE DATABASE mydatabase;
ALTER DATABASE mydatabase OWNER TO myuser;
ALTER DATABASE mydatabase SET search_path to mydatabase;
```
```
3) Находим предварительно LUCEE где можно использовать
```sh
CommandBox> repl
CFSCRIPT-REPL: getInstance('PasswordManager@lucee-password-util').encryptDataSource('password12345')
```
Получаем hash и далее используем в передаче CFM:
Пример CFM ниже
```sh
{
"testds_class": "org.postgresql.Driver",
"testds_bundleName": "org.postgresql.jdbc",
"testds_bundleVersion": "42.6.0",
"testds_connectionString": "jdbc:postgresql://postgresql-cl2vzaytsev1.postgresql-cl2vzaytsev1.svc.k8s-2.ext.nubes.ru:5432/mydatabase",
"testds_username": "myuser",
"testds_password": "encrypted:6e97c7d3441f1b393be2e74a1dbc8e43f88a92be270de6f7405ffce85fd52b1e489643ae147ca352",
"testds_connectionLimit": "5",
"testds_liveTimeout": "15",
"testds_validate": "false"
}
```
### Стек
- **App:** Lucee 5.4
- **DB:** PostgreSQL
- **Infra:** Terraform, Kubernetes (Nubes Realm)