ALTER TABLE Watchable ADD CONSTRAINT check_watchable_type
CHECK ((MovieID IS NOT NULL AND EpisodeID IS NULL) OR (MovieID IS NULL AND EpisodeID IS NOT NULL));


INSERT INTO Genre (Name) VALUES
('Action'), ('Adventure'), ('Animation'), ('Biography'), ('Comedy'),
('Crime'), ('Documentary'), ('Drama'), ('Family'), ('Fantasy'),
('Film-Noir'), ('History'), ('Horror'), ('Music'), ('Musical'),
('Mystery'), ('Romance'), ('Sci-Fi'), ('Sport'), ('Thriller'),
('War'), ('Western'), ('Psychological'), ('Supernatural'),
('Cyberpunk'), ('Post-Apocalyptic'), ('Martial Arts'), ('Slasher'),
('Mockumentary')
ON CONFLICT (Name) DO NOTHING;

INSERT INTO Language (Name) VALUES
('Macedonian'), ('English'), ('Albanian'), ('Spanish'), ('French'), ('German'), ('Italian'),
('Portuguese'), ('Russian'), ('Japanese'), ('Korean'), ('Chinese (Mandarin)'), ('Chinese (Cantonese)'),
('Turkish'), ('Serbian'), ('Croatian'), ('Bosnian'), ('Slovenian'), ('Bulgarian'), ('Greek'),
('Arabic'), ('Hindi'), ('Bengali'), ('Punjabi'), ('Telugu'), ('Marathi'), ('Tamil'), ('Urdu'),
('Vietnamese'), ('Thai'), ('Indonesian'), ('Malay'), ('Filipino'), ('Persian'), ('Hebrew'),
('Dutch'), ('Polish'), ('Romanian'), ('Hungarian'), ('Czech'), ('Slovak'), ('Swedish'),
('Danish'), ('Norwegian'), ('Finnish'), ('Icelandic'), ('Estonian'), ('Latvian'), ('Lithuanian'),
('Ukrainian'), ('Belarusian'), ('Georgian'), ('Armenian'), ('Azerbaijani'), ('Kazakh'), ('Uzbek'),
('Pashto'), ('Kurdish'), ('Amharic'), ('Swahili'), ('Yoruba'), ('Zulu'), ('Afrikaans'),
('Somali'), ('Thai'), ('Mongolian'), ('Tibetan'), ('Burmese'), ('Khmer'), ('Lao'),
('Malayalam'), ('Kannada'), ('Gujarati'), ('Oriya'), ('Assamese'), ('Maithili'), ('Santhali'),
('Kashmiri'), ('Nepali'), ('Sindhi'), ('Sanskrit'), ('Catalan'), ('Galician'), ('Basque'),
('Welsh'), ('Irish'), ('Scottish Gaelic'), ('Breton'), ('Luxembourgish'), ('Maltese'),
('Esperanto'), ('Latin'), ('Ancient Greek'), ('Quechua'), ('Guarani'), ('Aymara'),
('Nahuatl'), ('Maya'), ('Inuktitut'), ('Maori'), ('Hawaiian'), ('Fijian'), ('Samoan'),
('Tongan'), ('Javanese'), ('Sundanese'), ('Balinese'), ('Tatar'), ('Chechen'), ('Bashkir'),
('Chuvash'), ('Uighur'), ('Karakalpak'), ('Moksha'), ('Mari'), ('Komi'), ('Yiddish'),
('Lad Ladino'), ('Klingon'), ('Dothraki'), ('Quenya'), ('Sindarin')
ON CONFLICT (Name) DO NOTHING;

INSERT INTO subscription (name, price, maxdevices, videoquality) VALUES
('Basic Plan',    4.99,  1, '720p (HD)'),
('Standard Plan', 8.99,  2, '1080p (Full HD)'),
('Premium Plan',  13.99, 4, '4K + HDR'),
('Family Ultra',  19.99, 6, '4K + HDR + Atmos'),
('Student Deal',  2.99,  1, '1080p (Full HD)'),
('Mobile Only',   3.50,  1, '480p (SD)');