40 lines
2.0 KiB
Bash
Executable File
40 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Ensure the correct number of arguments
|
|
if [ "$#" -lt 2 ]; then
|
|
echo "Usage: $0 <save_to_path> <server_env>"
|
|
exit 1
|
|
fi
|
|
|
|
SAVE_TO="$1"
|
|
server_env="$2"
|
|
|
|
# Validate server_env
|
|
if [ "$server_env" != "staging" ] && [ "$server_env" != "production" ]; then
|
|
echo "Error: server_env must be either 'staging' or 'production'"
|
|
exit 1
|
|
fi
|
|
|
|
# Determine SSH target
|
|
if [ "$server_env" == "staging" ]; then
|
|
SSH_TARGET="jam@int.jamkazam.com"
|
|
else
|
|
SSH_TARGET="jam@db.jamkazam.com"
|
|
fi
|
|
|
|
echo "Saving to $SAVE_TO on $server_env"
|
|
|
|
# Run psql commands remotely
|
|
ssh $SSH_TARGET "psql jam -c \"COPY( select id, original_artist, name, original_artist_slug, name_slug, plan_code, slug, allow_free, ('https://www.jamkazam.com/backing-tracks/' || original_artist_slug || '/' || name_slug) as \"URL\", (select name from jam_track_licensors l where l.id = licensor_id) as \"Licensor\" FROM jam_tracks order by id::int) TO '$SAVE_TO/jam_tracks_for_jam_ui.$server_env.csv' with CSV HEADER;\""
|
|
|
|
ssh $SSH_TARGET "psql jam -c \"COPY( select original_artist, original_artist_slug, ('https://www.jamkazam.com/backing-tracks/' || original_artist_slug ) as \"URL\" FROM jam_tracks group by original_artist, original_artist_slug order by original_artist) TO '$SAVE_TO/jam_tracks_for_jam_ui_artists.$server_env.csv' with CSV HEADER;\""
|
|
|
|
ssh $SSH_TARGET "psql jam -c \"COPY( select id, part, instrument_id, (select description from instruments where id = instrument_id) as instrument_description, track_type, position, preview_mp3_url, preview_url as preview_ogg_url, preview_aac_url from jam_track_tracks order by jam_track_id::int) TO '$SAVE_TO/jam_track_tracks_for_jam_ui.$server_env.csv' with CSV HEADER;\""
|
|
|
|
# Move files locally from the remote server
|
|
scp $SSH_TARGET:"$SAVE_TO/jam_tracks_for_jam_ui.$server_env.csv" jamtracks-for-env
|
|
scp $SSH_TARGET:"$SAVE_TO/jam_tracks_for_jam_ui_artists.$server_env.csv" jamtracks-for-env
|
|
scp $SSH_TARGET:"$SAVE_TO/jam_track_tracks_for_jam_ui.$server_env.csv" jamtracks-for-env
|
|
|
|
echo "Files moved successfully to local machine"
|