Claudio Ortolina
c5e47cbc8c
Display dominant colors from the db
2025-06-07 20:07:23 +01:00
Claudio Ortolina
a63f2de60b
Use ->> instead of json_extract in queries
...
Improves readability of queries.
2025-06-06 21:05:44 +01:00
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
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