Commit Graph

36 Commits

Author SHA1 Message Date
Claudio Ortolina b191d87dfd Fix scrobble tracks schema
Remove the primary key, and just set a unique index on scrobbled time
and title, which allows skipping duplicates.
2025-05-31 20:54:37 +01:00
Claudio Ortolina d01d16f1ae Add infrastructure to persist scrobble tracks to database
Unused for now.
2025-05-31 08:16:32 +01:00
Claudio Ortolina 423d1e7764 Can sort wishlisted records by insertion 2025-05-26 23:12:34 +01:00
Claudio Ortolina ad29b8f96d Normalized search index
So that one can search for 'bjorn' and find 'Bjørn'
2025-05-25 09:26:01 +01:00
Claudio Ortolina 95f71519d3 Store Last.fm API key with encrypted secret 2025-05-06 15:18:14 +01:00
Claudio Ortolina 3e7341d4ca Support choosing a selected release 2025-05-01 17:42:40 +01:00
Claudio Ortolina d8bc26da4c Fix migration to be schema independent 2025-05-01 14:12:53 +01:00
Claudio Ortolina e083950138 Rename record.release to record.release_date
Includes changes to dependent tables (i.e. the record search index) and
related functions.
2025-05-01 14:04:57 +01:00
Claudio Ortolina ece877086f Store artist infos 2025-04-26 13:57:43 +01:00
Claudio Ortolina 16b19de163 Remove unique index from records 2025-02-26 10:56:29 +00:00
Claudio Ortolina 1f973bcd1d Remove error tracker tables from main repo 2025-01-23 10:52:42 +00:00
Claudio Ortolina 3b3b9cf7a5 Restore missing migration with amended rollback task 2025-01-23 10:52:29 +00:00
Claudio Ortolina eeaaf8b542 Move ErrorTracker to its own repo and file
Note that the SQlite adapter supports version 2 onwards.
2025-01-23 10:40:36 +00:00
Claudio Ortolina 5cd57fdde4 Install Error Tracker to track production issues 2025-01-01 17:11:17 +00:00
Claudio Ortolina b63b3a633a Can fetch records by a specific artist 2024-12-02 10:55:12 +00:00
Claudio Ortolina b2e1f1f8d1 Index records by type to improve query perf 2024-11-23 23:16:24 +00:00
Claudio Ortolina 2e2000fe01 Introduce separate search index
Uses a fts5 virtual table, kept up to date via triggers on the records
table.
2024-11-22 19:37:13 +00:00
Claudio Ortolina 659894aaee Materialize included release group ids 2024-11-17 11:52:47 +00:00
Claudio Ortolina 97c7be7b0c Store release ids when importing a record 2024-11-12 15:01:17 +00:00
Claudio Ortolina 74a11ca10f Prevent importing the same record twice 2024-11-05 11:40:01 +00:00
Claudio Ortolina 79edd6eade Add missing index to records table
Updates a relevant test to remove flakyness
2024-10-22 22:15:13 +01:00
Claudio Ortolina 54f8da81b6 Insert default purchased_at date when importing a record 2024-10-19 19:22:43 +01:00
Claudio Ortolina 6f7f0fed79 Add record indexes to optimize search 2024-10-14 15:18:47 +01:00
Claudio Ortolina 11a8149bcc Store MusicBrainz release group data on records 2024-10-07 08:36:56 +01:00
Claudio Ortolina 1e0d5486e0 Rename image* to cover* 2024-10-02 16:33:42 +01:00
Claudio Ortolina fb978406cd Remove year from records 2024-10-02 14:32:27 +01:00
Claudio Ortolina 024d95da7c Use release instead of year 2024-10-02 14:22:22 +01:00
Claudio Ortolina 180224d381 Store image hashes in the db - part 1 2024-09-30 20:09:32 +01:00
Claudio Ortolina 82e5962c74 Add record format (defaulting to CD) 2024-09-28 19:16:15 +01:00
Claudio Ortolina afc1802399 Serve local cover images 2024-09-16 09:50:07 +01:00
Claudio Ortolina affa7a007e Simplify data model
Artists can be embedded inside records - given the projected size of the
dataset (a few 1000s in the worst case) relationships can be built in
memory without the need to be denormalized into separate tables.
2024-09-15 20:29:52 +01:00
Claudio Ortolina a1f4ac0791 Add unique index to on MB id for artists 2024-09-15 20:28:39 +01:00
Claudio Ortolina e4ae157275 Associate artists and records 2024-09-15 20:28:35 +01:00
Claudio Ortolina e08fbe3740 Generate schema and live_view scaffold for records
1. Records are not yet tied to artists
2. The generated edit route, along with related functionality, may be
   deleted as I don't think it's gonna be needed. Leaving it included in
   the commit for reference.
2024-09-12 14:51:58 +01:00
Claudio Ortolina 34111a44ba Generate basic artist schema 2024-09-12 14:51:58 +01:00
Claudio Ortolina d547ee6f8d Generate project
Using `mix phx.new music_library --database sqlite3 --binary-id --no-mailer`
2024-09-12 14:05:08 +01:00