Завантаження файлів
Контекст
Збереження файлів в Дата Фабриці відбувається за принципом id reference де безпосередньо файл зберігається в "бакеті" Ceph, а ключ файлу і його контрольна сума в реляційній БД реєстру.
Взаємодія з Low-Code
Читання та повернення файлів в систему Low-Code відбувається за рахунок читання або запису файлу в доступний для Low-Code "бакет" Ceph.
Моделювання
Для збереження файлів в Дата Фабриці передбачено спеціальний тип "file". Такий запис дозволяє зберігати один файл, будь якого, формату (архів, багато сторінковий документ, картинку).
<changeSet id="..." author="...">
<createTable tableName="...">
<column name="id" type="uuid" defaultValue="uuid_generate_v4()"/>
<constraints primaryKey="true" nullable="false"/>
</column>
...
<column name="scan_copy" type="file"/>
...
<column name="..." type="..."/>
</createTable>
</changeSet>
Операції з файлами
Зміна структур які містять файли
Зміна безпосередньо файлів в Дата Фабриці заборонена. Кожна нова версія файлу зберігається в БД з новим унікальним ключем. Всі додані файли зберігаються в "бакеті" Ceph для підтримки історичності даних.
Зміна версії файлу можлива лише при умові отримання запиту "update" або "partialUpdate" з ключем відмінним від існуючого.
У випадку отримання пустого ключа посилання на Ceph - посилання буде видалено разом з контрольною сумою, але безпосередньо файл залишиться збережений.