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