Skip to content

Instantly share code, notes, and snippets.

@germs12
Created November 20, 2014 16:52
Show Gist options
  • Save germs12/e0b4d9e1a7b85224b706 to your computer and use it in GitHub Desktop.
Save germs12/e0b4d9e1a7b85224b706 to your computer and use it in GitHub Desktop.
Workflow...
1 - Create Artists Table
2 - Add new Track(hotttness, echonest_id, etc...) columns to Tracks Table
3 - Create GenreRelations Table
4 - Create Genres Table
5 - Add ActiveRecord to ruby script
6 - Define AR Models for all existing tables
7 - Define relationships between all tables
8 - Test that that works :)
9 - Loop over all distinct Artists pulled from the Tracks table to get a superset of Artist to query to EchoNest
10 - For each artist perform the following:
- - Create 1 row per artist in the artist table
- - Relate new (or exiting) Artist to All Albums by Artist
- - Update Artist with Hotttness score
- - Add distinct Genre to Genres table and relate to Artist through GenreRelations table (remember it's polymorphic)
- - Update all existing Tracks that match Top Songs for Artist with EchoNestId
- - Subsequent Track lookup for Track Hotttness, Track Currency, Track Discovery (This could be pulled in a seperate step...during the genre migration for instance.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment