Commit Graph

30 Commits

Author SHA1 Message Date
Claudio Ortolina 16b19de163 Remove unique index from records 2025-02-26 10:56:29 +00:00
Claudio Ortolina dd9be660a9 Convert seeds to obsidian.import task 2025-02-17 20:55:44 +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 b6ae022a6a Move obsidian-related imports under Obsidian 2024-09-24 09:21:13 +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 51d18f37bf First pass at seeding database
The task takes the Obsidian record folder as an argument.

It's not idempotent, so it will create duplicates if run multiple times.
2024-09-15 20:28:37 +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