Work on import from discogs. Switching to mysql in local dev
This commit is contained in:
parent
5798955b01
commit
da003cad12
2
Gemfile
2
Gemfile
|
@ -20,7 +20,7 @@ gem 'musicbrainz'
|
|||
gem 'bitmask_attributes'
|
||||
|
||||
group :development do
|
||||
gem 'sqlite3'
|
||||
gem 'mysql2', '0.3.7'
|
||||
end
|
||||
|
||||
group :production do
|
||||
|
|
|
@ -54,7 +54,7 @@ GEM
|
|||
activesupport (~> 3.0)
|
||||
daemons
|
||||
erubis (2.7.0)
|
||||
execjs (1.2.7)
|
||||
execjs (1.2.8)
|
||||
multi_json (~> 1.0)
|
||||
haml (3.1.3)
|
||||
hike (1.2.1)
|
||||
|
@ -67,8 +67,9 @@ GEM
|
|||
treetop (~> 1.4.8)
|
||||
mime-types (1.16)
|
||||
multi_json (1.0.3)
|
||||
musicbrainz (0.4.9)
|
||||
musicbrainz (0.4.10)
|
||||
nokogiri
|
||||
mysql2 (0.3.7)
|
||||
nokogiri (1.5.0)
|
||||
pg (0.11.0)
|
||||
polyglot (0.3.2)
|
||||
|
@ -103,7 +104,6 @@ GEM
|
|||
hike (~> 1.2)
|
||||
rack (~> 1.0)
|
||||
tilt (!= 1.3.0, ~> 1.1)
|
||||
sqlite3 (1.3.4)
|
||||
therubyracer (0.9.4)
|
||||
libv8 (~> 3.3.10)
|
||||
thor (0.14.6)
|
||||
|
@ -129,10 +129,10 @@ DEPENDENCIES
|
|||
json
|
||||
lastfm-client!
|
||||
musicbrainz
|
||||
mysql2 (= 0.3.7)
|
||||
nokogiri
|
||||
pg
|
||||
rails (= 3.1.0)
|
||||
sass
|
||||
sqlite3
|
||||
therubyracer
|
||||
uglifier
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
class ArtistAlias < ActiveRecord::Base
|
||||
end
|
|
@ -0,0 +1,2 @@
|
|||
class TrackArtist < ActiveRecord::Base
|
||||
end
|
|
@ -1,8 +1,9 @@
|
|||
development:
|
||||
adapter: sqlite3
|
||||
database: db/development-discogs.sqlite3
|
||||
pool: 5
|
||||
timeout: 5000
|
||||
adapter: mysql2
|
||||
database: beathaven
|
||||
username: root
|
||||
password: test
|
||||
host: localhost
|
||||
|
||||
test:
|
||||
adapter: sqlite3
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
class AddMasterToAlbum < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :albums, :master, :boolean
|
||||
end
|
||||
end
|
|
@ -0,0 +1,10 @@
|
|||
class CreateArtistAliases < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :artist_aliases do |t|
|
||||
t.integer :artist_id
|
||||
t.string :name
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
class AddOriginalNameToArtist < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :artists, :original_name, :string
|
||||
end
|
||||
end
|
|
@ -0,0 +1,12 @@
|
|||
class CreateTrackArtists < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :track_artists do |t|
|
||||
t.integer :track_id
|
||||
t.integer :artist_id
|
||||
t.boolean :main
|
||||
t.string :join
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
20
db/schema.rb
20
db/schema.rb
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20110920164044) do
|
||||
ActiveRecord::Schema.define(:version => 20110921182606) do
|
||||
|
||||
create_table "albums", :force => true do |t|
|
||||
t.string "name"
|
||||
|
@ -24,6 +24,14 @@ ActiveRecord::Schema.define(:version => 20110920164044) do
|
|||
t.string "mbid"
|
||||
t.integer "has_pic"
|
||||
t.integer "status"
|
||||
t.boolean "master"
|
||||
end
|
||||
|
||||
create_table "artist_aliases", :force => true do |t|
|
||||
t.integer "artist_id"
|
||||
t.string "name"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
create_table "artist_links", :force => true do |t|
|
||||
|
@ -45,6 +53,7 @@ ActiveRecord::Schema.define(:version => 20110920164044) do
|
|||
t.integer "status"
|
||||
t.integer "listeners"
|
||||
t.integer "approved"
|
||||
t.string "original_name"
|
||||
end
|
||||
|
||||
create_table "delayed_jobs", :force => true do |t|
|
||||
|
@ -114,6 +123,15 @@ ActiveRecord::Schema.define(:version => 20110920164044) do
|
|||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
create_table "track_artists", :force => true do |t|
|
||||
t.integer "track_id"
|
||||
t.integer "artist_id"
|
||||
t.boolean "main"
|
||||
t.string "join"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
create_table "tracks", :force => true do |t|
|
||||
t.string "name"
|
||||
t.integer "album_id"
|
||||
|
|
|
@ -10,12 +10,18 @@ class Discogs
|
|||
end
|
||||
|
||||
def self.process_artist node
|
||||
Artist.new(
|
||||
artist = Artist.new(
|
||||
:name => (node.css('name').first.text),
|
||||
:pic_url => (node.css('images > image[type="primary"]').first.text unless node.css('images > image[type="primary"]').empty?),
|
||||
:status => 1
|
||||
).save
|
||||
p node.css('name').first.text
|
||||
)
|
||||
artist.save
|
||||
node.css('namevariations > name, aliases > name').each do |v|
|
||||
ArtistAlias.new(
|
||||
:artist_id => artist.id,
|
||||
:name => v.text
|
||||
).save
|
||||
end
|
||||
end
|
||||
|
||||
def self.releases
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
# Read about fixtures at http://api.rubyonrails.org/classes/Fixtures.html
|
||||
|
||||
one:
|
||||
artist_id: 1
|
||||
name: MyString
|
||||
|
||||
two:
|
||||
artist_id: 1
|
||||
name: MyString
|
|
@ -0,0 +1,13 @@
|
|||
# Read about fixtures at http://api.rubyonrails.org/classes/Fixtures.html
|
||||
|
||||
one:
|
||||
track_id: 1
|
||||
artist_id: 1
|
||||
main: false
|
||||
join: MyString
|
||||
|
||||
two:
|
||||
track_id: 1
|
||||
artist_id: 1
|
||||
main: false
|
||||
join: MyString
|
|
@ -0,0 +1,7 @@
|
|||
require 'test_helper'
|
||||
|
||||
class ArtistAliasTest < ActiveSupport::TestCase
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
|
@ -0,0 +1,7 @@
|
|||
require 'test_helper'
|
||||
|
||||
class TrackArtistTest < ActiveSupport::TestCase
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
Loading…
Reference in New Issue