"""Genre Revision ID: e74c676f4fd3 Revises: c85297ab2124 Create Date: 2019-05-28 19:04:09.907011 """ from alembic import op import sqlalchemy as sa from migrations import utils from models.genres import Genre # revision identifiers, used by Alembic. revision = 'e74c676f4fd3' down_revision = 'c85297ab2124' branch_labels = None depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table( 'Genre', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_Genre')) ) bind = op.get_bind() session = sa.orm.Session(bind=bind) # fill genres genres = ( {'id': 1, 'name': '2-step'}, {'id': 2, 'name': '20s'}, {'id': 3, 'name': '30s'}, {'id': 4, 'name': '40s'}, {'id': 5, 'name': '4x4'}, {'id': 6, 'name': '50s'}, {'id': 7, 'name': '60s'}, {'id': 8, 'name': '70s'}, {'id': 9, 'name': '80s'}, {'id': 10, 'name': '90s'}, {'id': 11, 'name': 'A Capella'}, {'id': 12, 'name': 'Acid'}, {'id': 13, 'name': 'Acid Jazz'}, {'id': 14, 'name': 'Acoustic'}, {'id': 15, 'name': 'Adult Contemporary'}, {'id': 16, 'name': 'African'}, {'id': 17, 'name': 'Afro-Cuban'}, {'id': 18, 'name': 'Afrobeat'}, {'id': 19, 'name': 'Algerian'}, {'id': 20, 'name': 'Alternative'}, {'id': 21, 'name': 'Ambient'}, {'id': 22, 'name': 'American'}, {'id': 23, 'name': 'Americana'}, {'id': 24, 'name': 'Antigua'}, {'id': 25, 'name': 'Arabic Pop'}, {'id': 26, 'name': 'Asian'}, {'id': 27, 'name': 'Australian'}, {'id': 28, 'name': 'Avant-Garde Metal'}, {'id': 29, 'name': 'Axé'}, {'id': 30, 'name': 'Bachata'}, {'id': 31, 'name': 'Baile Funk'}, {'id': 32, 'name': 'Balearic'}, {'id': 33, 'name': 'Balkan'}, {'id': 34, 'name': 'Ballads'}, {'id': 35, 'name': 'Baroque'}, {'id': 36, 'name': 'Berlin School'}, {'id': 37, 'name': 'Bhangra'}, {'id': 38, 'name': 'Big Band'}, {'id': 39, 'name': 'Bitpop'}, {'id': 40, 'name': 'Black Metal'}, {'id': 41, 'name': 'Bluegrass'}, {'id': 42, 'name': 'Blues'}, {'id': 43, 'name': 'Bollywood'}, {'id': 44, 'name': 'Boogie'}, {'id': 45, 'name': 'Bosnia'}, {'id': 46, 'name': 'Bossa Nova'}, {'id': 47, 'name': 'Brass'}, {'id': 48, 'name': 'Brazilian'}, {'id': 49, 'name': 'Brazilian Funk'}, {'id': 50, 'name': 'Breakbeat'}, {'id': 51, 'name': 'Breaks'}, {'id': 52, 'name': 'British'}, {'id': 53, 'name': 'British Blues'}, {'id': 54, 'name': 'British Hip-hop'}, {'id': 55, 'name': 'Britpop'}, {'id': 56, 'name': 'Calypso'}, {'id': 57, 'name': 'Canadian'}, {'id': 58, 'name': 'Canadian Blues'}, {'id': 59, 'name': 'Cantautore'}, {'id': 60, 'name': 'Chicago Blues'}, {'id': 61, 'name': 'Chicago House'}, {'id': 62, 'name': 'Chilean'}, {'id': 63, 'name': 'Chillout'}, {'id': 64, 'name': 'Chiptune'}, {'id': 65, 'name': 'Choir'}, {'id': 66, 'name': 'Christian'}, {'id': 67, 'name': 'Classic Rock'}, {'id': 68, 'name': 'Classical'}, {'id': 69, 'name': 'Club'}, {'id': 70, 'name': 'Comedy'}, {'id': 71, 'name': 'Conga'}, {'id': 72, 'name': 'Cordone'}, {'id': 73, 'name': 'Country'}, {'id': 74, 'name': 'Crooner'}, {'id': 75, 'name': 'Crunk'}, {'id': 76, 'name': 'Crunkcore'}, {'id': 77, 'name': 'Cuban'}, {'id': 78, 'name': 'Cumbia'}, {'id': 79, 'name': 'Dance'}, {'id': 80, 'name': 'Dancehall'}, {'id': 81, 'name': 'Danger Music'}, {'id': 82, 'name': 'Danish'}, {'id': 83, 'name': 'Dansband'}, {'id': 84, 'name': 'Dark Ambient'}, {'id': 85, 'name': 'Darkcore'}, {'id': 86, 'name': 'Death Metal'}, {'id': 87, 'name': 'Deep Funk'}, {'id': 88, 'name': 'Deep House'}, {'id': 89, 'name': 'Delta Blues'}, {'id': 90, 'name': 'Disco'}, {'id': 91, 'name': 'Diva House'}, {'id': 92, 'name': 'Downtempo'}, {'id': 93, 'name': 'Dream Trance'}, {'id': 94, 'name': 'Drum and Bass'}, {'id': 95, 'name': 'Dub'}, {'id': 96, 'name': 'Dub Reggae'}, {'id': 97, 'name': 'Dubstep'}, {'id': 98, 'name': 'Dutch Hip-hop'}, {'id': 99, 'name': 'Dutch House'}, {'id': 100, 'name': 'East Coast'}, {'id': 101, 'name': 'East Coast Rap'}, {'id': 102, 'name': 'East Timor'}, {'id': 103, 'name': 'Easy Listening'}, {'id': 104, 'name': 'EBM'}, {'id': 105, 'name': 'Egyptian'}, {'id': 106, 'name': 'Electro'}, {'id': 107, 'name': 'Electro House'}, {'id': 108, 'name': 'Electroacoustic'}, {'id': 109, 'name': 'Electronic Dub'}, {'id': 110, 'name': 'Electronica'}, {'id': 111, 'name': 'Elevator Music'}, {'id': 112, 'name': 'Emo'}, {'id': 113, 'name': 'Epic Doom Metal'}, {'id': 114, 'name': 'Equatorial Guinea'}, {'id': 115, 'name': 'Ethnic'}, {'id': 116, 'name': 'Eurodance'}, {'id': 117, 'name': 'Eurotrance'}, {'id': 118, 'name': 'Eurovision'}, {'id': 119, 'name': 'Evergreen'}, {'id': 120, 'name': 'Experimental'}, {'id': 121, 'name': 'Faber'}, {'id': 122, 'name': 'Female Vocalists'}, {'id': 123, 'name': 'Filter House'}, {'id': 124, 'name': 'Filthy Dubstep'}, {'id': 125, 'name': 'Finnish'}, {'id': 126, 'name': 'Flamenco'}, {'id': 127, 'name': 'Folk'}, {'id': 128, 'name': 'Foxtrot'}, {'id': 129, 'name': 'French Hip-hop'}, {'id': 130, 'name': 'French House'}, {'id': 131, 'name': 'Funk'}, {'id': 132, 'name': 'Funk Carioca'}, {'id': 133, 'name': 'Funky House'}, {'id': 134, 'name': 'Funny'}, {'id': 135, 'name': 'Fusion'}, {'id': 136, 'name': 'Future Garage'}, {'id': 137, 'name': 'G-Funk'}, {'id': 138, 'name': 'Gabber'}, {'id': 139, 'name': 'Garage'}, {'id': 140, 'name': 'German Hip-hop'}, {'id': 141, 'name': 'Ghetto House'}, {'id': 142, 'name': 'Ghettotech'}, {'id': 143, 'name': 'Gipsy'}, {'id': 144, 'name': 'Glam Metal'}, {'id': 145, 'name': 'Glam Rock'}, {'id': 146, 'name': 'Glitch'}, {'id': 147, 'name': 'Glitch Hop'}, {'id': 148, 'name': 'Goa Trance'}, {'id': 149, 'name': 'Gospel'}, {'id': 150, 'name': 'Gothic'}, {'id': 151, 'name': 'Gothic Metal'}, {'id': 152, 'name': 'Gothic Rock'}, {'id': 153, 'name': 'Grime'}, {'id': 154, 'name': 'Grunge'}, {'id': 155, 'name': 'Gypsy'}, {'id': 156, 'name': 'Happy Hardcore'}, {'id': 157, 'name': 'Hard Dance'}, {'id': 158, 'name': 'Hard Techno'}, {'id': 159, 'name': 'Hard Trance'}, {'id': 160, 'name': 'Hardcore'}, {'id': 161, 'name': 'Hardstep'}, {'id': 162, 'name': 'Hardstyle'}, {'id': 163, 'name': 'Heavy Metal'}, {'id': 164, 'name': 'Hebrew'}, {'id': 165, 'name': 'Hellektro'}, {'id': 166, 'name': 'Hi-NRG'}, {'id': 167, 'name': 'Hip-hop'}, {'id': 168, 'name': 'Hiplife'}, {'id': 169, 'name': 'Honky Tonk'}, {'id': 170, 'name': 'House'}, {'id': 171, 'name': 'Hungarian'}, {'id': 172, 'name': 'Hyperdub'}, {'id': 173, 'name': 'IDM'}, {'id': 174, 'name': 'Illbient'}, {'id': 175, 'name': 'Indian'}, {'id': 176, 'name': 'Indie'}, {'id': 177, 'name': 'Indie Folk'}, {'id': 178, 'name': 'Indie Rock'}, {'id': 179, 'name': 'Industrial'}, {'id': 180, 'name': 'Industrial Metal'}, {'id': 181, 'name': 'Isolationism'}, {'id': 182, 'name': 'Italo Dance'}, {'id': 183, 'name': 'Italo Disco'}, {'id': 184, 'name': 'J-Pop'}, {'id': 185, 'name': 'Japanese Hip-Hop'}, {'id': 186, 'name': 'Japanese Noise'}, {'id': 187, 'name': 'Jazz'}, {'id': 188, 'name': 'Jazz Guitar'}, {'id': 189, 'name': 'Jazz Piano'}, {'id': 190, 'name': 'Jewish'}, {'id': 191, 'name': 'Jump-Up'}, {'id': 192, 'name': 'Jumpstyle'}, {'id': 193, 'name': 'K-Pop'}, {'id': 194, 'name': 'Kizomba'}, {'id': 195, 'name': 'Klezmer'}, {'id': 196, 'name': 'Krautrock'}, {'id': 197, 'name': 'Kuduro'}, {'id': 198, 'name': 'Latin'}, {'id': 199, 'name': 'Latin House'}, {'id': 200, 'name': 'Latin Jazz'}, {'id': 201, 'name': 'Lebanese'}, {'id': 202, 'name': 'Lo-fi'}, {'id': 203, 'name': 'Louisiana Blues'}, {'id': 204, 'name': 'Lounge'}, {'id': 205, 'name': 'Love Songs'}, {'id': 206, 'name': 'Lowercase'}, {'id': 207, 'name': 'Luxemburg'}, {'id': 208, 'name': 'Macedonian'}, {'id': 209, 'name': 'Madchester'}, {'id': 210, 'name': 'Makossa'}, {'id': 211, 'name': 'Malmö'}, {'id': 212, 'name': 'Mambo'}, {'id': 213, 'name': 'Mariachi'}, {'id': 214, 'name': 'Mathcore'}, {'id': 215, 'name': 'Melodifestivalen'}, {'id': 216, 'name': 'Merengue'}, {'id': 217, 'name': 'Mestizo'}, {'id': 218, 'name': 'Metal'}, {'id': 219, 'name': 'Metalcore'}, {'id': 220, 'name': 'Mexican'}, {'id': 221, 'name': 'Mexican Hip-hop'}, {'id': 222, 'name': 'Middle Eastern'}, {'id': 223, 'name': 'Minimal'}, {'id': 224, 'name': 'Modern Classical'}, {'id': 225, 'name': 'Montenegro'}, {'id': 226, 'name': 'MPB'}, {'id': 227, 'name': 'Neo-Soul'}, {'id': 228, 'name': 'Neofolk'}, {'id': 229, 'name': 'Nerdcore'}, {'id': 230, 'name': 'New Jack Swing'}, {'id': 231, 'name': 'New York'}, {'id': 232, 'name': 'Nintendocore'}, {'id': 233, 'name': 'Noise'}, {'id': 234, 'name': 'Nortec'}, {'id': 235, 'name': 'North Africa'}, {'id': 236, 'name': 'North Korea'}, {'id': 237, 'name': 'Northern Soul'}, {'id': 238, 'name': 'Norwegian'}, {'id': 239, 'name': 'Nu Disco'}, {'id': 240, 'name': 'Nu Jazz'}, {'id': 241, 'name': 'Oldies'}, {'id': 242, 'name': 'One Hit Wonders'}, {'id': 243, 'name': 'Opera'}, {'id': 244, 'name': 'Orchestral'}, {'id': 245, 'name': 'Oriental'}, {'id': 246, 'name': 'P-Funk'}, {'id': 247, 'name': 'Pagode'}, {'id': 248, 'name': 'Parody Music'}, {'id': 249, 'name': 'Piano Blues'}, {'id': 250, 'name': 'Pirate Metal'}, {'id': 251, 'name': 'Pop'}, {'id': 252, 'name': 'Post-Rock'}, {'id': 253, 'name': 'Power Ballad'}, {'id': 254, 'name': 'Power Metal'}, {'id': 255, 'name': 'Power Noise'}, {'id': 256, 'name': 'Power Rock'}, {'id': 257, 'name': 'Progg'}, {'id': 258, 'name': 'Progressive House'}, {'id': 259, 'name': 'Progressive Rock'}, {'id': 260, 'name': 'Psybient'}, {'id': 261, 'name': 'Psychadelic'}, {'id': 262, 'name': 'Psychadelic Soul'}, {'id': 263, 'name': 'Psytrance'}, {'id': 264, 'name': 'Punk'}, {'id': 265, 'name': 'R&B'}, {'id': 266, 'name': 'Ragga'}, {'id': 267, 'name': 'Rai'}, {'id': 268, 'name': 'Rap'}, {'id': 269, 'name': 'Rapcore'}, {'id': 270, 'name': 'Rat Pack'}, {'id': 271, 'name': 'Rave'}, {'id': 272, 'name': 'Reggae'}, {'id': 273, 'name': 'Reggaeton'}, {'id': 274, 'name': 'Renaissance'}, {'id': 275, 'name': 'Rhythmic Noise'}, {'id': 276, 'name': 'Rhytm and Blues'}, {'id': 277, 'name': 'Rock'}, {'id': 278, 'name': 'Rockabilly'}, {'id': 279, 'name': 'Rocksteady'}, {'id': 280, 'name': 'Romanian'}, {'id': 281, 'name': 'Roots'}, {'id': 282, 'name': 'Rotterdam Techno'}, {'id': 283, 'name': 'Rumba'}, {'id': 284, 'name': 'Russian Chanson'}, {'id': 285, 'name': 'Russian Hip-hop'}, {'id': 286, 'name': 'Sadcore'}, {'id': 287, 'name': 'Salsa'}, {'id': 288, 'name': 'Samba'}, {'id': 289, 'name': 'Sambass'}, {'id': 290, 'name': 'Schlager'}, {'id': 291, 'name': 'Schranz'}, {'id': 292, 'name': 'Screamo'}, {'id': 293, 'name': 'Serbian'}, {'id': 294, 'name': 'Sertanejo'}, {'id': 295, 'name': 'Shoegazer'}, {'id': 296, 'name': 'Singer-Songwriter'}, {'id': 297, 'name': 'Ska'}, {'id': 298, 'name': 'Ska Punk'}, {'id': 299, 'name': 'Slow Jams'}, {'id': 300, 'name': 'Slowcore'}, {'id': 301, 'name': 'Slowfox'}, {'id': 302, 'name': 'Sludge Metal'}, {'id': 303, 'name': 'Smooth Jazz'}, {'id': 304, 'name': 'Soca'}, {'id': 305, 'name': 'Soukous'}, {'id': 306, 'name': 'Soul'}, {'id': 307, 'name': 'Soul Jazz'}, {'id': 308, 'name': 'Soulful House'}, {'id': 309, 'name': 'Soundtracks'}, {'id': 310, 'name': 'Southern Rock'}, {'id': 311, 'name': 'Space Age Pop'}, {'id': 312, 'name': 'Spacesynth'}, {'id': 313, 'name': 'Spanish Guitar'}, {'id': 314, 'name': 'Spanish Hip Hop'}, {'id': 315, 'name': 'Speed Garage'}, {'id': 316, 'name': 'Speed Metal'}, {'id': 317, 'name': 'Spoken Word'}, {'id': 318, 'name': 'St. Louis Blues'}, {'id': 319, 'name': 'Stand-up Comedy'}, {'id': 320, 'name': 'Stoner Rock'}, {'id': 321, 'name': 'Sufi'}, {'id': 322, 'name': 'Svensk Hiphop'}, {'id': 323, 'name': 'Svenskt'}, {'id': 324, 'name': 'Swedish Hip hop'}, {'id': 325, 'name': 'Swing'}, {'id': 326, 'name': 'Swiss'}, {'id': 327, 'name': 'Symphony'}, {'id': 328, 'name': 'Syrian'}, {'id': 329, 'name': 'Tango'}, {'id': 330, 'name': 'Tech House'}, {'id': 331, 'name': 'Techno'}, {'id': 332, 'name': 'Thai Rock'}, {'id': 333, 'name': 'Thrash Metal'}, {'id': 334, 'name': 'Timba'}, {'id': 335, 'name': 'Trance'}, {'id': 336, 'name': 'Trip-hop'}, {'id': 337, 'name': 'Twee'}, {'id': 338, 'name': 'UK Garage'}, {'id': 339, 'name': 'Umeå'}, {'id': 340, 'name': 'Underground Hip-hop'}, {'id': 341, 'name': 'Underground Rap'}, {'id': 342, 'name': 'Urban Jazz'}, {'id': 343, 'name': 'US Garage'}, {'id': 344, 'name': 'Valencia'}, {'id': 345, 'name': 'Venezuelan'}, {'id': 346, 'name': 'Video Games'}, {'id': 347, 'name': 'Vocal House'}, {'id': 348, 'name': 'Vocal Jazz'}, {'id': 349, 'name': 'Vocal Trance'}, {'id': 350, 'name': 'West African'}, {'id': 351, 'name': 'West Coast'}, {'id': 352, 'name': 'West Coast Rap'}, {'id': 353, 'name': 'Wobble'}, {'id': 354, 'name': 'World'}, {'id': 355, 'name': 'World Music'}, {'id': 356, 'name': 'Zorba'}, ) utils.add_to_session(session, Genre, genres) session.commit() session.close() op.add_column( 'Campaign', sa.Column('genre_id', sa.Integer(), nullable=False, server_default='1') ) op.create_foreign_key( op.f('fk_Campaign_genre_id_Genre'), 'Campaign', 'Genre', ['genre_id'], ['id'] ) op.alter_column('Campaign', 'genre_id', server_default=None) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_constraint( op.f('fk_Campaign_genre_id_Genre'), 'Campaign', type_='foreignkey') op.drop_column('Campaign', 'genre_id') op.drop_table('Genre') # ### end Alembic commands ###