story-generator/supabase/migrations/20240320000002_populate_phonics_tables.sql
Lucas Santana 350a66bb9e
Some checks are pending
Docker Build and Push / build (push) Waiting to run
feat: implementa sistema de exercícios f��nicos
- Cria estrutura completa de banco de dados para exerc��cios f��nicos

- Implementa tabelas para categorias, tipos, exerc��cios e palavras

- Adiciona sistema de progresso e conquistas do estudante

- Configura pol��ticas de seguran��a RLS para prote����o dos dados

- Otimiza performance com ��ndices e relacionamentos apropriados

BREAKING CHANGE: Nova estrutura de banco de dados para exerc��cios f��nicos
2025-01-17 20:59:50 -03:00

105 lines
4.9 KiB
SQL

-- Inserir tipos de exercícios
INSERT INTO phonics_exercise_types (id, name, description) VALUES
('f47ac10b-58cc-4372-a567-0e02b2c3d479', 'rhyme', 'Exercícios de rima'),
('f47ac10b-58cc-4372-a567-0e02b2c3d480', 'alliteration', 'Exercícios de aliteração'),
('f47ac10b-58cc-4372-a567-0e02b2c3d481', 'syllables', 'Exercícios de sílabas'),
('f47ac10b-58cc-4372-a567-0e02b2c3d482', 'sound_match', 'Exercícios de correspondência de sons');
-- Inserir categorias
INSERT INTO phonics_exercise_categories (id, name, description, level, order_index) VALUES
('f47ac10b-58cc-4372-a567-0e02b2c3d483', 'Rimas Básicas', 'Exercícios básicos de rima', 1, 1),
('f47ac10b-58cc-4372-a567-0e02b2c3d484', 'Aliteração Inicial', 'Exercícios de sons iniciais', 1, 2),
('f47ac10b-58cc-4372-a567-0e02b2c3d485', 'Sílabas Simples', 'Exercícios de separação silábica', 1, 3),
('f47ac10b-58cc-4372-a567-0e02b2c3d486', 'Sons das Letras', 'Exercícios de sons das letras', 1, 4);
-- Inserir palavras
INSERT INTO phonics_words (id, word, phonetic_transcription, syllables_count) VALUES
('f47ac10b-58cc-4372-a567-0e02b2c3d487', 'bola', 'bɔ.la', 2),
('f47ac10b-58cc-4372-a567-0e02b2c3d488', 'cola', 'kɔ.la', 2),
('f47ac10b-58cc-4372-a567-0e02b2c3d489', 'mola', 'mɔ.la', 2),
('f47ac10b-58cc-4372-a567-0e02b2c3d490', 'gato', 'ga.tu', 2),
('f47ac10b-58cc-4372-a567-0e02b2c3d491', 'pato', 'pa.tu', 2),
('f47ac10b-58cc-4372-a567-0e02b2c3d492', 'rato', 'ha.tu', 2),
('f47ac10b-58cc-4372-a567-0e02b2c3d493', 'casa', 'ka.za', 2),
('f47ac10b-58cc-4372-a567-0e02b2c3d494', 'mesa', 'me.za', 2),
('f47ac10b-58cc-4372-a567-0e02b2c3d495', 'pera', 'pɛ.ɾa', 2);
-- Inserir tipos de mídia
INSERT INTO media_types (id, name, description) VALUES
('f47ac10b-58cc-4372-a567-0e02b2c3d496', 'image', 'Imagens para exercícios'),
('f47ac10b-58cc-4372-a567-0e02b2c3d497', 'sound', 'Sons para exercícios'),
('f47ac10b-58cc-4372-a567-0e02b2c3d498', 'animation', 'Animações para exercícios');
-- Inserir exercícios
INSERT INTO phonics_exercises (id, category_id, type_id, title, description, difficulty_level, estimated_time_seconds, instructions, points, required_score) VALUES
(
'f47ac10b-58cc-4372-a567-0e02b2c3d499',
'f47ac10b-58cc-4372-a567-0e02b2c3d483',
'f47ac10b-58cc-4372-a567-0e02b2c3d479',
'Encontre a Rima: Bola',
'Encontre a palavra que rima com BOLA',
1,
60,
'Clique na palavra que rima com BOLA',
10,
0.7
),
(
'f47ac10b-58cc-4372-a567-0e02b2c3d500',
'f47ac10b-58cc-4372-a567-0e02b2c3d484',
'f47ac10b-58cc-4372-a567-0e02b2c3d480',
'Sons Iniciais: Gato',
'Encontre a palavra que começa com o mesmo som de GATO',
1,
60,
'Clique na palavra que começa com o mesmo som de GATO',
10,
0.7
);
-- Relacionar exercícios com palavras
INSERT INTO phonics_exercise_words (exercise_id, word_id, is_correct_answer, order_index) VALUES
-- Exercício de rima com "bola"
('f47ac10b-58cc-4372-a567-0e02b2c3d499', 'f47ac10b-58cc-4372-a567-0e02b2c3d487', false, 1), -- bola (palavra base)
('f47ac10b-58cc-4372-a567-0e02b2c3d499', 'f47ac10b-58cc-4372-a567-0e02b2c3d488', true, 2), -- cola (resposta correta)
('f47ac10b-58cc-4372-a567-0e02b2c3d499', 'f47ac10b-58cc-4372-a567-0e02b2c3d493', false, 3), -- casa (distrator)
('f47ac10b-58cc-4372-a567-0e02b2c3d499', 'f47ac10b-58cc-4372-a567-0e02b2c3d495', false, 4), -- pera (distrator)
-- Exercício de aliteração com "gato"
('f47ac10b-58cc-4372-a567-0e02b2c3d500', 'f47ac10b-58cc-4372-a567-0e02b2c3d490', false, 1), -- gato (palavra base)
('f47ac10b-58cc-4372-a567-0e02b2c3d500', 'f47ac10b-58cc-4372-a567-0e02b2c3d491', false, 2), -- pato (distrator)
('f47ac10b-58cc-4372-a567-0e02b2c3d500', 'f47ac10b-58cc-4372-a567-0e02b2c3d493', true, 3), -- casa (resposta correta)
('f47ac10b-58cc-4372-a567-0e02b2c3d500', 'f47ac10b-58cc-4372-a567-0e02b2c3d494', false, 4); -- mesa (distrator)
-- Inserir tipos de conquistas
INSERT INTO achievement_types (id, name, description) VALUES
('f47ac10b-58cc-4372-a567-0e02b2c3d501', 'streak', 'Conquistas de sequência'),
('f47ac10b-58cc-4372-a567-0e02b2c3d502', 'completion', 'Conquistas de conclusão'),
('f47ac10b-58cc-4372-a567-0e02b2c3d503', 'mastery', 'Conquistas de maestria');
-- Inserir conquistas
INSERT INTO phonics_achievements (id, type_id, name, description, points, required_count) VALUES
(
'f47ac10b-58cc-4372-a567-0e02b2c3d504',
'f47ac10b-58cc-4372-a567-0e02b2c3d501',
'Primeira Sequência',
'Complete 3 exercícios seguidos corretamente',
50,
3
),
(
'f47ac10b-58cc-4372-a567-0e02b2c3d505',
'f47ac10b-58cc-4372-a567-0e02b2c3d502',
'Iniciante em Rimas',
'Complete 5 exercícios de rima',
100,
5
),
(
'f47ac10b-58cc-4372-a567-0e02b2c3d506',
'f47ac10b-58cc-4372-a567-0e02b2c3d503',
'Mestre das Rimas',
'Obtenha 3 estrelas em 10 exercícios de rima',
200,
10
);