VRFS-2975 - change jam track Id to varchar(64)
This commit is contained in:
parent
6885424668
commit
53ef0f1b4f
|
|
@ -149,9 +149,8 @@ SELECT played.player_id FROM
|
|||
(SELECT player_id, COUNT(*) cnt FROM playable_plays pp
|
||||
WHERE
|
||||
pp.created_at >= '#{start_date}' AND
|
||||
pp.created_at <= '#{end_date}' AND
|
||||
pp.jam_track_id IS NOT NULL /* VRFS-2916 jam_tracks.id is varchar: REMOVE */
|
||||
/* pp.playable_type = 'JamRuby::JamTrack' */ /* VRFS-2916 jam_tracks.id is varchar: ADD */
|
||||
pp.created_at <= '#{end_date}' AND
|
||||
pp.playable_type = 'JamRuby::JamTrack' /* VRFS-2916 jam_tracks.id is varchar: ADD */
|
||||
GROUP BY player_id
|
||||
) played
|
||||
WHERE #{where}
|
||||
|
|
@ -274,9 +273,9 @@ SQL
|
|||
|
||||
count = _subquery(assoc_key = :jam_tracks_played, num_user) do |subsql|
|
||||
# VRFS-2916 jam_tracks.id is varchar: REMOVE
|
||||
subsql += " AND tt.jam_track_id IS NOT NULL "
|
||||
# subsql += " AND tt.jam_track_id IS NOT NULL "
|
||||
# VRFS-2916 jam_tracks.id is varchar: ADD
|
||||
# subsql += " AND tt.playable_type = 'JamRuby::JamTrack' "
|
||||
subsql += " AND tt.playable_type = 'JamRuby::JamTrack' "
|
||||
end
|
||||
_put_data_set(assoc_key, count, num_user)
|
||||
|
||||
|
|
|
|||
|
|
@ -267,4 +267,5 @@ cohorts.sql
|
|||
jam_track_right_admin_purchase.sql
|
||||
jam_track_playable_plays.sql
|
||||
shopping_cart_anonymous.sql
|
||||
user_reuse_card_and_reedem.sql
|
||||
user_reuse_card_and_reedem.sql
|
||||
jam_track_id_to_varchar.sql
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
-- change jam_tracks PRIMARY KEY to VARCHAR(64)
|
||||
|
||||
-- first, drop all constraints and change the types
|
||||
ALTER TABLE jam_track_tracks DROP CONSTRAINT jam_track_tracks_jam_track_id_fkey;
|
||||
ALTER TABLE jam_track_tracks ALTER COLUMN jam_track_id TYPE VARCHAR(64);
|
||||
ALTER TABLE jam_track_tap_ins DROP CONSTRAINT jam_track_tap_ins_jam_track_id_fkey;
|
||||
ALTER TABLE jam_track_tap_ins ALTER COLUMN jam_track_id TYPE VARCHAR(64);
|
||||
ALTER TABLE jam_track_rights DROP CONSTRAINT jam_track_rights_jam_track_id_fkey;
|
||||
ALTER TABLE jam_track_rights ALTER COLUMN jam_track_id TYPE VARCHAR(64);
|
||||
ALTER TABLE active_music_sessions ALTER COLUMN jam_track_id TYPE VARCHAR(64);
|
||||
ALTER TABLE recordings DROP CONSTRAINT recordings_jam_track_id_fkey;
|
||||
ALTER TABLE recordings ALTER COLUMN jam_track_id TYPE VARCHAR(64);
|
||||
ALTER TABLE playable_plays DROP COLUMN jam_track_id;
|
||||
|
||||
|
||||
-- then drop the jamtrack sequence, change it's type, and then set default to UUID
|
||||
-- DROP SEQUENCE jam_tracks_next_seq;
|
||||
ALTER TABLE jam_tracks ALTER COLUMN id TYPE VARCHAR(64);
|
||||
ALTER TABLE jam_tracks ALTER COLUMN id SET DEFAULT uuid_generate_v4();
|
||||
|
||||
-- add back in all the constraints on the fk tables
|
||||
ALTER TABLE jam_track_tracks ADD CONSTRAINT jam_track_tracks_jam_track_id_fkey FOREIGN KEY (jam_track_id) REFERENCES jam_tracks(id) ON DELETE CASCADE;
|
||||
ALTER TABLE jam_track_tap_ins ADD CONSTRAINT jam_track_tap_ins_jam_track_id_fkey FOREIGN KEY (jam_track_id) REFERENCES jam_tracks(id) ON DELETE CASCADE;
|
||||
ALTER TABLE jam_track_rights ADD CONSTRAINT jam_track_rights_jam_track_id_fkey FOREIGN KEY (jam_track_id) REFERENCES jam_tracks(id);
|
||||
ALTER TABLE recordings ADD CONSTRAINT recordings_jam_track_id_fkey FOREIGN KEY (jam_track_id) REFERENCES jam_tracks(id);
|
||||
|
|
@ -56,9 +56,9 @@ module JamRuby
|
|||
has_many :recordings, :class_name => "JamRuby::Recording"
|
||||
|
||||
# VRFS-2916 jam_tracks.id is varchar: REMOVE
|
||||
has_many :plays, :class_name => "JamRuby::PlayablePlay", :foreign_key => :jam_track_id, :dependent => :destroy
|
||||
# has_many :plays, :class_name => "JamRuby::PlayablePlay", :foreign_key => :jam_track_id, :dependent => :destroy
|
||||
# VRFS-2916 jam_tracks.id is varchar: ADD
|
||||
# has_many :plays, :class_name => "JamRuby::PlayablePlay", :as => :playable, :dependent => :destroy
|
||||
has_many :plays, :class_name => "JamRuby::PlayablePlay", :as => :playable, :dependent => :destroy
|
||||
|
||||
accepts_nested_attributes_for :jam_track_tracks, allow_destroy: true
|
||||
accepts_nested_attributes_for :jam_track_tap_ins, allow_destroy: true
|
||||
|
|
|
|||
|
|
@ -4,20 +4,20 @@ module JamRuby
|
|||
|
||||
belongs_to :playable, :polymorphic => :true
|
||||
# VRFS-2916 jam_tracks.id is varchar: REMOVE
|
||||
belongs_to :jam_track, :foreign_key => :jam_track_id
|
||||
#belongs_to :jam_track, :foreign_key => :jam_track_id
|
||||
belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "player_id"
|
||||
belongs_to :claimed_recording, :class_name => "JamRuby::ClaimedRecording", :foreign_key => "claimed_recording_id"
|
||||
|
||||
validate do
|
||||
# VRFS-2916 jam_tracks.id is varchar: REMOVE
|
||||
if !playable_id && !jam_track_id
|
||||
self.errors[:base] << 'No playable instance detected'
|
||||
end
|
||||
#if !playable_id && !jam_track_id
|
||||
# self.errors[:base] << 'No playable instance detected'
|
||||
#end
|
||||
|
||||
# VRFS-2916 jam_tracks.id is varchar: ADD
|
||||
# if !playable_id
|
||||
# self.errors[:base] << 'No playable instance detected'
|
||||
# end
|
||||
if !playable_id
|
||||
self.errors[:base] << 'No playable instance detected'
|
||||
end
|
||||
|
||||
if !user
|
||||
self.errors[:base] << 'No user detected'
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ module JamRuby
|
|||
|
||||
duplicate_found = false
|
||||
any_user.shopping_carts.each do |shopping_cart|
|
||||
if shopping_cart.cart_type == JamTrack::PRODUCT_TYPE && shopping_cart.cart_id.to_i == jam_track.id
|
||||
if shopping_cart.cart_type == JamTrack::PRODUCT_TYPE && shopping_cart.cart_id == jam_track.id
|
||||
duplicate_found = true
|
||||
return
|
||||
end
|
||||
|
|
|
|||
|
|
@ -72,9 +72,9 @@ module JamRuby
|
|||
has_many :playing_jam_tracks, :class_name => "JamRuby::ActiveMusicSession", :inverse_of => :jam_track_initiator
|
||||
|
||||
# VRFS-2916 jam_tracks.id is varchar: REMOVE
|
||||
has_many :jam_tracks_played, :class_name => "JamRuby::PlayablePlay", :foreign_key => 'player_id', :conditions => "jam_track_id IS NOT NULL"
|
||||
# has_many :jam_tracks_played, :class_name => "JamRuby::PlayablePlay", :foreign_key => 'player_id', :conditions => "jam_track_id IS NOT NULL"
|
||||
# VRFS-2916 jam_tracks.id is varchar: ADD
|
||||
# has_many :jam_tracks_played, :class_name => "JamRuby::PlayablePlay", :foreign_key => 'player_id', :conditions => ["playable_type = 'JamRuby::JamTrack'"]
|
||||
has_many :jam_tracks_played, :class_name => "JamRuby::PlayablePlay", :foreign_key => 'player_id', :conditions => ["playable_type = 'JamRuby::JamTrack'"]
|
||||
|
||||
# self.id = user_id in likes table
|
||||
has_many :likings, :class_name => "JamRuby::Like", :inverse_of => :user, :dependent => :destroy
|
||||
|
|
|
|||
|
|
@ -584,6 +584,8 @@ FactoryGirl.define do
|
|||
end
|
||||
|
||||
factory :playable_play, :class => JamRuby::PlayablePlay do
|
||||
|
||||
association :user, factory: :user
|
||||
end
|
||||
|
||||
factory :recording_like, :class => JamRuby::RecordingLiker do
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ describe JamTrackRight do
|
|||
end
|
||||
|
||||
it "bogus key" do
|
||||
JamTrackRight.list_keys(user, [2112]).should eq([])
|
||||
JamTrackRight.list_keys(user, ['2112']).should eq([])
|
||||
end
|
||||
|
||||
it "valid track with no rights to it by querying user" do
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@ describe JamTrack do
|
|||
play = PlayablePlay.new
|
||||
|
||||
# VRFS-2916 jam_tracks.id is varchar: REMOVE
|
||||
play.jam_track = @jam_track
|
||||
# play.jam_track = @jam_track
|
||||
# VRFS-2916 jam_tracks.id is varchar: ADD
|
||||
# play.playable = @jam_track
|
||||
play.playable = @jam_track
|
||||
|
||||
play.user = user
|
||||
play.save!
|
||||
|
|
|
|||
|
|
@ -23,9 +23,9 @@ class ApiJamTracksController < ApiController
|
|||
play.ip_address = request.remote_ip
|
||||
|
||||
# VRFS-2916 jam_tracks.id is varchar: REMOVE
|
||||
play.jam_track = JamTrack.where(id: params[:id].to_i).first
|
||||
# play.jam_track = JamTrack.where(id: params[:id].to_i).first
|
||||
# VRFS-2916 jam_tracks.id is varchar: ADD
|
||||
# play.playable = JamTrack.where(id: params[:id]).first
|
||||
play.playable = JamTrack.where(id: params[:id]).first
|
||||
|
||||
play.save
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ node :genres do |item|
|
|||
end
|
||||
|
||||
node :added_cart do |item|
|
||||
any_user.shopping_carts.where("cart_id='?'",item.id).count != 0
|
||||
any_user.shopping_carts.where(cart_id: item.id).count != 0
|
||||
end
|
||||
|
||||
child(:jam_track_tracks => :tracks) {
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ describe ApiJamTracksController do
|
|||
end
|
||||
|
||||
before(:each) do
|
||||
JamTrackRight.destroy_all
|
||||
JamTrack.destroy_all
|
||||
@user = FactoryGirl.create(:user)
|
||||
@jam_track = FactoryGirl.create(:jam_track)
|
||||
|
|
@ -120,7 +121,6 @@ describe ApiJamTracksController do
|
|||
|
||||
describe "with a JamTrack" do
|
||||
before(:each) do
|
||||
JamTrackRight.destroy_all
|
||||
# Create a working JamTrack for these tests. The integrity
|
||||
# of this process is checked in other tests:
|
||||
@ogg_path = File.join('spec', 'files', 'on.ogg')
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ describe "JamTrack Shopping", :js => true, :type => :feature, :capybara_feature
|
|||
|
||||
before(:each) do
|
||||
ShoppingCart.delete_all
|
||||
JamTrackRight.delete_all
|
||||
JamTrack.delete_all
|
||||
JamTrackTrack.delete_all
|
||||
JamTrackLicensor.delete_all
|
||||
|
|
|
|||
Loading…
Reference in New Issue