mirror of
https://github.com/camptocamp/odoo-cloud-platform.git
synced 2026-06-24 02:08:36 +00:00
Store files that need fast access in the database
An Object Storage read is slower than a disk of database access. It might take ~200 to 300ms to retrieve a file content. This is not an issue for attachments such as the pdf files or any attachment that we want to read on demand. But that's too slow for files needed to render a web page. We'll store in the database: * Assets (js, css, ...). As a side effect, the databases will be more portable, as assets are rebuilt frequently, storing them in the Object Storage led the integration server to try to read assets deleted since long ago * Attachments linked to Binary fields named 'image_small', 'image_medium', 'web_icon_data'. Those fields are often used on kanban views that display a lot a images and retrieving them all was then very slow (Odoo does not do async requests). The migration to S3 is no longer called during initialization of the registry: it would be too slow as we would have to define if the attachments must be kept in database or sent to S3 on each new start. It means we have to call `env['ir.attachment'].force_storage()` to run the migration.
This commit is contained in:
@@ -36,7 +36,6 @@ This addon must be added in the server wide addons with (``--load`` option):
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
When the ``ir.attachment`` model is started, it will automatically migrate
|
||||
the attachments which are not stored in S3 yet. This might be an issue when
|
||||
the number of attachments is huge. In that case, you might have more control
|
||||
by calling yourself ``env['ir.attachment'].force_storage()``.
|
||||
* You need to call ``env['ir.attachment'].force_storage()`` after
|
||||
having changed the ``ir_attachment.location`` configuration in order to
|
||||
migrate the existing attachments to S3.
|
||||
|
||||
Reference in New Issue
Block a user