Commit graph libervia-backend/sat/memory/sqla.py
Author SHA1 Message Date
Goffi
a2c409a4a2 core (memory/sqla): session_add must have a default value in delete 2022-06-29 10:16:03 +02:00
Goffi
0bd68d0e62 core (memory/sqla): generic get + session_add in delete:
new generic `get` allow to retrieve an ORM object with given column and value, and
optionally join load attributes.

In `delete`, it is now possible to specify instances to add to session, this allow, to
update them in the same transaction. It is also now possible to specify a list of object
to delete them all in the same transaction.

rel 367
2022-06-17 14:15:23 +02:00
Goffi
bb3e7ffa9b core (memory/sqla), plugin XEP-0359: always add origin-id, and store:
`origin-id` is now always added to messages, and it is stored to database in the new
column instead of `extra` when present.
2022-06-17 14:15:23 +02:00
Goffi
c678f1f993 core (memory/sqla): searchPubsubItems can now filter on item names 2022-05-13 18:02:37 +02:00
Goffi
75684953be core (memory/sqla): add attribute to filter on item_ids in getItems 2022-05-13 17:58:51 +02:00
Goffi
317e8a6a94 core (memory/sqla): new table/mapping to handle Pubsub node subscriptions:
node subscriptions can now be cached, this can be useful for components which must keep
track of subscibers.

rel 364
2022-03-22 17:00:42 +01:00
Goffi
5c6bac6ade memory (sqla): fix complete setting when index is None in getItems 2022-01-25 17:09:54 +01:00
Goffi
d7945138f7 memory (sqla): don't set keys with None as value for RSM in getItems 2022-01-25 17:09:11 +01:00
Goffi
4ca6c043ac core (memory/sqla): fix fileUpdate 2021-09-08 17:58:48 +02:00
Goffi
247a5f1ea8 core (memory/slqa): implement getProfileById
rel 361
2021-09-08 17:58:48 +02:00
Goffi
6c400f14c6 memory (sqla): implement searchPubsubItems:
`searchPubsubItems` is a high level method to handle Full-Text Search queries on Pubsub
cache.

rel 361
2021-09-08 17:58:48 +02:00
Goffi
efcd128062 core (memory/sqla): fix key/value inversion in self.profiles 2021-09-01 15:24:59 +02:00
Goffi
cb0223b5ab core (memory/sqla): minor docstring line lenght fix 2021-08-02 21:52:17 +02:00
Goffi
53a77a4c71 core (memory/sqla): generic methods to add and delete ORM objects directly 2021-07-29 22:51:01 +02:00
Goffi
85ea69c3c3 core (memory/sqla): methods to manipulate pubsub tables 2021-07-29 22:51:01 +02:00
Goffi
a3e6425eb2 core (memory/sqla_mapping): fix some technical debt:
a first Alembic revision file is joined to migrate existing databases to new mapping.

This patch:
    - set `nullable=False` in various places
    - drop legacy `message_types` table, and use `Enum` instead
    - use naming convention, and get rid of anonymous constraint (this is the main reason
      why the revision file is so long)
2021-06-27 00:15:40 +02:00
Goffi
8ae38a1131 core (memory/sqla): database migration using Alembic:
Alembic database migration tool, which is the recommended one for SQLAlchemy has been
integrated. When a database is created, it will be used to stamp to current (head)
revision, otherwise, DB will be checked to see if it needs to be updated, and upgrade will
be triggered if necessary.
2021-06-25 17:55:23 +02:00
Goffi
a5f225e1ea core (memory/storage): backend storage is now based on SQLAlchemy 2021-06-03 15:20:47 +02:00