Add migration for specific PLA Basic colors
- Added 30 specific PLA Basic colors with correct hex codes - Each color has 1 refill AND 1 spool (total quantity: 2) - Price set to 3499/3999 RSD format - All other filaments zeroed out (won't show in table) - Created migration script and deployment helper 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
95
database/migrations/013_add_pla_basic_colors.sql
Normal file
95
database/migrations/013_add_pla_basic_colors.sql
Normal file
@@ -0,0 +1,95 @@
|
||||
-- Migration: Add specific PLA Basic colors
|
||||
-- This migration adds the specific set of colors for PLA Basic filaments
|
||||
|
||||
-- First, let's add any missing colors to the colors table
|
||||
INSERT INTO colors (name, hex) VALUES
|
||||
('Jade White', '#FFFFFF'),
|
||||
('Beige', '#F7E6DE'),
|
||||
('Light Gray', '#D0D2D4'),
|
||||
('Yellow', '#F4EE2A'),
|
||||
('Sunflower Yellow', '#FEC601'),
|
||||
('Pumpkin Orange', '#FF8E16'),
|
||||
('Orange', '#FF6A13'),
|
||||
('Gold', '#E4BD68'),
|
||||
('Bright Green', '#BDCF00'),
|
||||
('Bambu Green', '#16C344'),
|
||||
('Mistletoe Green', '#3F8E43'),
|
||||
('Pink', '#F55A74'),
|
||||
('Hot Pink', '#F5547D'),
|
||||
('Magenta', '#EC008C'),
|
||||
('Red', '#C12E1F'),
|
||||
('Maroon Red', '#832140'),
|
||||
('Purple', '#5E43B7'),
|
||||
('Indigo Purple', '#482A60'),
|
||||
('Turquoise', '#00B1B7'),
|
||||
('Cyan', '#0086D6'),
|
||||
('Cobalt Blue', '#0055B8'),
|
||||
('Blue', '#0A2989'),
|
||||
('Brown', '#9D432C'),
|
||||
('Cocoa Brown', '#6F5034'),
|
||||
('Bronze', '#847D48'),
|
||||
('Gray', '#8E9089'),
|
||||
('Silver', '#A6A9AA'),
|
||||
('Blue Grey', '#5B6579'),
|
||||
('Dark Gray', '#555555'),
|
||||
('Black', '#000000')
|
||||
ON CONFLICT (name)
|
||||
DO UPDATE SET hex = EXCLUDED.hex;
|
||||
|
||||
-- Now add PLA Basic filaments for each of these colors
|
||||
-- We'll add them with 1 refill and 1 spool each
|
||||
INSERT INTO filaments (tip, finish, boja, boja_hex, refill, spulna, kolicina, cena)
|
||||
SELECT
|
||||
'PLA' as tip,
|
||||
'Basic' as finish,
|
||||
c.name as boja,
|
||||
c.hex as boja_hex,
|
||||
1 as refill,
|
||||
1 as spulna,
|
||||
2 as kolicina,
|
||||
'3499/3999' as cena
|
||||
FROM colors c
|
||||
WHERE c.name IN (
|
||||
'Jade White', 'Beige', 'Light Gray', 'Yellow', 'Sunflower Yellow',
|
||||
'Pumpkin Orange', 'Orange', 'Gold', 'Bright Green', 'Bambu Green',
|
||||
'Mistletoe Green', 'Pink', 'Hot Pink', 'Magenta', 'Red',
|
||||
'Maroon Red', 'Purple', 'Indigo Purple', 'Turquoise', 'Cyan',
|
||||
'Cobalt Blue', 'Blue', 'Brown', 'Cocoa Brown', 'Bronze',
|
||||
'Gray', 'Silver', 'Blue Grey', 'Dark Gray', 'Black'
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM filaments f
|
||||
WHERE f.tip = 'PLA'
|
||||
AND f.finish = 'Basic'
|
||||
AND f.boja = c.name
|
||||
);
|
||||
|
||||
-- Update any existing PLA Basic filaments to ensure they have correct inventory
|
||||
UPDATE filaments
|
||||
SET refill = 1, spulna = 1, kolicina = 2, cena = '3499/3999'
|
||||
WHERE tip = 'PLA'
|
||||
AND finish = 'Basic'
|
||||
AND boja IN (
|
||||
'Jade White', 'Beige', 'Light Gray', 'Yellow', 'Sunflower Yellow',
|
||||
'Pumpkin Orange', 'Orange', 'Gold', 'Bright Green', 'Bambu Green',
|
||||
'Mistletoe Green', 'Pink', 'Hot Pink', 'Magenta', 'Red',
|
||||
'Maroon Red', 'Purple', 'Indigo Purple', 'Turquoise', 'Cyan',
|
||||
'Cobalt Blue', 'Blue', 'Brown', 'Cocoa Brown', 'Bronze',
|
||||
'Gray', 'Silver', 'Blue Grey', 'Dark Gray', 'Black'
|
||||
);
|
||||
|
||||
-- Zero out ALL other filaments (not PLA Basic with these specific colors)
|
||||
UPDATE filaments
|
||||
SET refill = 0, spulna = 0, kolicina = 0
|
||||
WHERE NOT (
|
||||
tip = 'PLA'
|
||||
AND finish = 'Basic'
|
||||
AND boja IN (
|
||||
'Jade White', 'Beige', 'Light Gray', 'Yellow', 'Sunflower Yellow',
|
||||
'Pumpkin Orange', 'Orange', 'Gold', 'Bright Green', 'Bambu Green',
|
||||
'Mistletoe Green', 'Pink', 'Hot Pink', 'Magenta', 'Red',
|
||||
'Maroon Red', 'Purple', 'Indigo Purple', 'Turquoise', 'Cyan',
|
||||
'Cobalt Blue', 'Blue', 'Brown', 'Cocoa Brown', 'Bronze',
|
||||
'Gray', 'Silver', 'Blue Grey', 'Dark Gray', 'Black'
|
||||
)
|
||||
);
|
||||
51
scripts/add-pla-basic-colors.sh
Executable file
51
scripts/add-pla-basic-colors.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script to add specific PLA Basic colors to production database
|
||||
|
||||
echo "🎨 Adding PLA Basic colors to production database..."
|
||||
|
||||
# Get the RDS endpoint from terraform output
|
||||
DB_HOST=$(cat terraform-outputs.json | grep -A1 "rds_endpoint" | grep "value" | cut -d'"' -f4 | cut -d':' -f1)
|
||||
|
||||
if [ -z "$DB_HOST" ]; then
|
||||
echo "❌ Could not find RDS endpoint in terraform-outputs.json"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "📍 Database host: $DB_HOST"
|
||||
|
||||
# Execute the migration
|
||||
echo "🚀 Running migration..."
|
||||
aws ssm send-command \
|
||||
--document-name "AWS-RunShellScript" \
|
||||
--targets "Key=tag:Name,Values=filamenteka-api-instance" \
|
||||
--parameters commands="[\"PGPASSWORD=\$DB_PASSWORD psql -h $DB_HOST -U filamenteka -d filamenteka -f /tmp/add_pla_colors.sql\"]" \
|
||||
--region eu-central-1 \
|
||||
--query "Command.CommandId" \
|
||||
--output text > /tmp/command-id.txt
|
||||
|
||||
COMMAND_ID=$(cat /tmp/command-id.txt)
|
||||
echo "⏳ Command ID: $COMMAND_ID"
|
||||
|
||||
# Wait for command to complete
|
||||
echo "⏳ Waiting for migration to complete..."
|
||||
sleep 5
|
||||
|
||||
# Check command status
|
||||
aws ssm get-command-invocation \
|
||||
--command-id "$COMMAND_ID" \
|
||||
--instance-id $(aws ec2 describe-instances --filters "Name=tag:Name,Values=filamenteka-api-instance" --query "Reservations[0].Instances[0].InstanceId" --output text --region eu-central-1) \
|
||||
--region eu-central-1 \
|
||||
--query "Status" \
|
||||
--output text
|
||||
|
||||
echo "✅ Migration completed!"
|
||||
echo ""
|
||||
echo "📝 Summary of changes:"
|
||||
echo "- Added 30 specific PLA Basic colors"
|
||||
echo "- Each color has 1 refill AND 1 spool (total quantity: 2)"
|
||||
echo "- Price set to 3499/3999 RSD"
|
||||
echo "- Zeroed out ALL other filaments (they won't show in the table)"
|
||||
|
||||
# Cleanup
|
||||
rm -f /tmp/command-id.txt
|
||||
Reference in New Issue
Block a user