From 9b97593b3b44a6207b66a90f477997abad2012a8 Mon Sep 17 00:00:00 2001 From: clime Date: Jan 25 2017 15:22:07 +0000 Subject: [frontend] separate schema and data (fedora) migrations For running fedora-instance specific migrations, do `alembic --name fedora upgrade head`. For schema migrations, the upgrade command stays the same: `alembic upgrade head`. --- diff --git a/frontend/coprs_frontend/alembic.ini b/frontend/coprs_frontend/alembic.ini index 7c7be19..cb64861 100644 --- a/frontend/coprs_frontend/alembic.ini +++ b/frontend/coprs_frontend/alembic.ini @@ -2,7 +2,7 @@ [alembic] # path to migration scripts -script_location = alembic +script_location = alembic/schema # template used to generate migration files # file_template = %%(rev)s_%%(slug)s @@ -13,6 +13,8 @@ script_location = alembic # sqlalchemy.url = driver://user:pass@localhost/dbname +[fedora] +script_location = alembic/fedora # Logging configuration [loggers] diff --git a/frontend/coprs_frontend/alembic/env.py b/frontend/coprs_frontend/alembic/env.py deleted file mode 100644 index 530f4e6..0000000 --- a/frontend/coprs_frontend/alembic/env.py +++ /dev/null @@ -1,73 +0,0 @@ -from __future__ import with_statement -from alembic import context -from logging.config import fileConfig - -# this is the Alembic Config object, which provides -# access to the values within the .ini file in use. -config = context.config - -# Interpret the config file for Python logging. -# This line sets up loggers basically. -fileConfig(config.config_file_name) - -# add your model's MetaData object here -# for 'autogenerate' support -# from myapp import mymodel -# target_metadata = mymodel.Base.metadata -import sys -import os - -# alembic doesn't include cwd by default -sys.path.append(os.getcwd()) - -from coprs import db -target_metadata = db.metadata - -# other values from the config, defined by the needs of env.py, -# can be acquired: -# my_important_option = config.get_main_option("my_important_option") -# ... etc. - - -def run_migrations_offline(): - """Run migrations in 'offline' mode. - - This configures the context with just a URL - and not an Engine, though an Engine is acceptable - here as well. By skipping the Engine creation - we don't even need a DBAPI to be available. - - Calls to context.execute() here emit the given string to the - script output. - - """ - url = config.get_main_option("sqlalchemy.url") - context.configure(url=url) - - with context.begin_transaction(): - context.run_migrations() - - -def run_migrations_online(): - """Run migrations in 'online' mode. - - In this scenario we need to create an Engine - and associate a connection with the context. - - """ - connection = db.engine.connect() - context.configure( - connection=connection, - target_metadata=target_metadata - ) - - try: - with context.begin_transaction(): - context.run_migrations() - finally: - connection.close() - -if context.is_offline_mode(): - run_migrations_offline() -else: - run_migrations_online() diff --git a/frontend/coprs_frontend/alembic/fedora/env.py b/frontend/coprs_frontend/alembic/fedora/env.py new file mode 100644 index 0000000..fe4d8d4 --- /dev/null +++ b/frontend/coprs_frontend/alembic/fedora/env.py @@ -0,0 +1,74 @@ +from __future__ import with_statement +from alembic import context +from logging.config import fileConfig + +# this is the Alembic Config object, which provides +# access to the values within the .ini file in use. +config = context.config + +# Interpret the config file for Python logging. +# This line sets up loggers basically. +fileConfig(config.config_file_name) + +# add your model's MetaData object here +# for 'autogenerate' support +# from myapp import mymodel +# target_metadata = mymodel.Base.metadata +import sys +import os + +# alembic doesn't include cwd by default +sys.path.append(os.getcwd()) + +from coprs import db +target_metadata = db.metadata + +# other values from the config, defined by the needs of env.py, +# can be acquired: +# my_important_option = config.get_main_option("my_important_option") +# ... etc. + + +def run_migrations_offline(): + """Run migrations in 'offline' mode. + + This configures the context with just a URL + and not an Engine, though an Engine is acceptable + here as well. By skipping the Engine creation + we don't even need a DBAPI to be available. + + Calls to context.execute() here emit the given string to the + script output. + + """ + url = config.get_main_option("sqlalchemy.url") + context.configure(url=url, version_table='alembic_fedora_version') + + with context.begin_transaction(): + context.run_migrations() + + +def run_migrations_online(): + """Run migrations in 'online' mode. + + In this scenario we need to create an Engine + and associate a connection with the context. + + """ + connection = db.engine.connect() + context.configure( + connection=connection, + target_metadata=target_metadata, + version_table='alembic_fedora_version' + ) + + try: + with context.begin_transaction(): + context.run_migrations() + finally: + connection.close() + +if context.is_offline_mode(): + run_migrations_offline() +else: + run_migrations_online() diff --git a/frontend/coprs_frontend/alembic/fedora/script.py.mako b/frontend/coprs_frontend/alembic/fedora/script.py.mako new file mode 100644 index 0000000..9570201 --- /dev/null +++ b/frontend/coprs_frontend/alembic/fedora/script.py.mako @@ -0,0 +1,22 @@ +"""${message} + +Revision ID: ${up_revision} +Revises: ${down_revision} +Create Date: ${create_date} + +""" + +# revision identifiers, used by Alembic. +revision = ${repr(up_revision)} +down_revision = ${repr(down_revision)} + +from alembic import op +import sqlalchemy as sa +${imports if imports else ""} + +def upgrade(): + ${upgrades if upgrades else "pass"} + + +def downgrade(): + ${downgrades if downgrades else "pass"} diff --git a/frontend/coprs_frontend/alembic/fedora/versions/3341bf554454_add_mageia_chroots.py b/frontend/coprs_frontend/alembic/fedora/versions/3341bf554454_add_mageia_chroots.py new file mode 100644 index 0000000..0d0dfab --- /dev/null +++ b/frontend/coprs_frontend/alembic/fedora/versions/3341bf554454_add_mageia_chroots.py @@ -0,0 +1,43 @@ +"""add mageia chroots + +Revision ID: 3341bf554454 +Revises: 94975badc43 +Create Date: 2016-09-20 19:28:16.115630 + +""" + +# revision identifiers, used by Alembic. +revision = '3341bf554454' +down_revision = '94975badc43' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + bind = op.get_bind() + connection = bind.connect() + + connection.execute( + "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('mageia', '6', 'x86_64', True)" + ) + connection.execute( + "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('mageia', '6', 'i586', True)" + ) + connection.execute( + "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('mageia', 'cauldron', 'x86_64', True)" + ) + connection.execute( + "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('mageia', 'cauldron', 'i586', True)" + ) + connection.close() + + +def downgrade(): + bind = op.get_bind() + connection = bind.connect() + + connection.execute( # there might be already referencing records so just set is_active to False instead of removing + "UPDATE mock_chroot SET is_active=False WHERE os_release = 'mageia'" + ) + connection.close() diff --git a/frontend/coprs_frontend/alembic/fedora/versions/419a626c25e6_rename_rawhide_to_f26.py b/frontend/coprs_frontend/alembic/fedora/versions/419a626c25e6_rename_rawhide_to_f26.py new file mode 100644 index 0000000..4bf115f --- /dev/null +++ b/frontend/coprs_frontend/alembic/fedora/versions/419a626c25e6_rename_rawhide_to_f26.py @@ -0,0 +1,34 @@ +"""Rename rawhide to f26 + +Revision ID: 419a626c25e6 +Revises: 8de41eec1d1 +Create Date: 2016-10-05 13:16:21.428071 + +""" + +# revision identifiers, used by Alembic. +revision = '419a626c25e6' +down_revision = '8de41eec1d1' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + bind = op.get_bind() + connection = bind.connect() + + connection.execute( + "UPDATE mock_chroot SET os_version='26' WHERE os_release = 'fedora' AND os_version = 'rawhide'" + ) + connection.close() + + +def downgrade(): + bind = op.get_bind() + connection = bind.connect() + + connection.execute( + "UPDATE mock_chroot SET os_version='rawhide' WHERE os_release = 'fedora' AND os_version = '26'" + ) + connection.close() diff --git a/frontend/coprs_frontend/alembic/fedora/versions/8de41eec1d1_enabling_fedora_25_chroots.py b/frontend/coprs_frontend/alembic/fedora/versions/8de41eec1d1_enabling_fedora_25_chroots.py new file mode 100644 index 0000000..e0c5b0a --- /dev/null +++ b/frontend/coprs_frontend/alembic/fedora/versions/8de41eec1d1_enabling_fedora_25_chroots.py @@ -0,0 +1,40 @@ +"""enabling fedora-25 chroots + +Revision ID: 8de41eec1d1 +Revises: 3341bf554454 +Create Date: 2016-09-07 15:41:35.130578 + +""" + +# revision identifiers, used by Alembic. +revision = '8de41eec1d1' +down_revision = '3341bf554454' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + bind = op.get_bind() + connection = bind.connect() + + connection.execute( + "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('fedora', '25', 'x86_64', True)" + ) + connection.execute( + "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('fedora', '25', 'i386', True)" + ) + connection.execute( + "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('fedora', '25', 'ppc64le', True)" + ) + connection.close() + + +def downgrade(): + bind = op.get_bind() + connection = bind.connect() + + connection.execute( # there might be already referencing records so just set is_active to False instead of removing + "UPDATE mock_chroot SET is_active=False WHERE os_release = 'fedora' AND os_version = '25'" + ) + connection.close() diff --git a/frontend/coprs_frontend/alembic/fedora/versions/94975badc43_fedora_22_chroots_deactivated.py b/frontend/coprs_frontend/alembic/fedora/versions/94975badc43_fedora_22_chroots_deactivated.py new file mode 100644 index 0000000..e97fc50 --- /dev/null +++ b/frontend/coprs_frontend/alembic/fedora/versions/94975badc43_fedora_22_chroots_deactivated.py @@ -0,0 +1,34 @@ +"""fedora-22 chroots deactivated + +Revision ID: 94975badc43 +Revises: None +Create Date: 2016-09-07 15:00:43.217280 + +""" + +# revision identifiers, used by Alembic. +revision = '94975badc43' +down_revision = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + bind = op.get_bind() + connection = bind.connect() + + connection.execute( + "UPDATE mock_chroot SET is_active=False WHERE os_release = 'fedora' AND os_version='22'" + ) + connection.close() + + +def downgrade(): + bind = op.get_bind() + connection = bind.connect() + + connection.execute( + "UPDATE mock_chroot SET is_active=True WHERE os_release = 'fedora' AND os_version='22'" + ) + connection.close() diff --git a/frontend/coprs_frontend/alembic/schema/env.py b/frontend/coprs_frontend/alembic/schema/env.py new file mode 100644 index 0000000..530f4e6 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/env.py @@ -0,0 +1,73 @@ +from __future__ import with_statement +from alembic import context +from logging.config import fileConfig + +# this is the Alembic Config object, which provides +# access to the values within the .ini file in use. +config = context.config + +# Interpret the config file for Python logging. +# This line sets up loggers basically. +fileConfig(config.config_file_name) + +# add your model's MetaData object here +# for 'autogenerate' support +# from myapp import mymodel +# target_metadata = mymodel.Base.metadata +import sys +import os + +# alembic doesn't include cwd by default +sys.path.append(os.getcwd()) + +from coprs import db +target_metadata = db.metadata + +# other values from the config, defined by the needs of env.py, +# can be acquired: +# my_important_option = config.get_main_option("my_important_option") +# ... etc. + + +def run_migrations_offline(): + """Run migrations in 'offline' mode. + + This configures the context with just a URL + and not an Engine, though an Engine is acceptable + here as well. By skipping the Engine creation + we don't even need a DBAPI to be available. + + Calls to context.execute() here emit the given string to the + script output. + + """ + url = config.get_main_option("sqlalchemy.url") + context.configure(url=url) + + with context.begin_transaction(): + context.run_migrations() + + +def run_migrations_online(): + """Run migrations in 'online' mode. + + In this scenario we need to create an Engine + and associate a connection with the context. + + """ + connection = db.engine.connect() + context.configure( + connection=connection, + target_metadata=target_metadata + ) + + try: + with context.begin_transaction(): + context.run_migrations() + finally: + connection.close() + +if context.is_offline_mode(): + run_migrations_offline() +else: + run_migrations_online() diff --git a/frontend/coprs_frontend/alembic/schema/script.py.mako b/frontend/coprs_frontend/alembic/schema/script.py.mako new file mode 100644 index 0000000..9570201 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/script.py.mako @@ -0,0 +1,22 @@ +"""${message} + +Revision ID: ${up_revision} +Revises: ${down_revision} +Create Date: ${create_date} + +""" + +# revision identifiers, used by Alembic. +revision = ${repr(up_revision)} +down_revision = ${repr(down_revision)} + +from alembic import op +import sqlalchemy as sa +${imports if imports else ""} + +def upgrade(): + ${upgrades if upgrades else "pass"} + + +def downgrade(): + ${downgrades if downgrades else "pass"} diff --git a/frontend/coprs_frontend/alembic/schema/versions/13af46c70227_remove_build_ended_on_build_started_on_.py b/frontend/coprs_frontend/alembic/schema/versions/13af46c70227_remove_build_ended_on_build_started_on_.py new file mode 100644 index 0000000..1687429 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/13af46c70227_remove_build_ended_on_build_started_on_.py @@ -0,0 +1,27 @@ +"""Remove build.ended_on, build.started_on columns + +Revision ID: 13af46c70227 +Revises: 22c5f7a954ce +Create Date: 2016-03-04 09:14:03.088234 + +""" + +# revision identifiers, used by Alembic. +revision = '13af46c70227' +down_revision = '22c5f7a954ce' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.drop_column('build', 'ended_on') + op.drop_column('build', 'started_on') + op.create_index('build_canceled', 'build', ['canceled'], unique=False) + + +def downgrade(): + op.drop_index('build_canceled', table_name='build') + op.add_column('build', sa.Column('started_on', sa.INTEGER(), autoincrement=False, nullable=True)) + op.add_column('build', sa.Column('ended_on', sa.INTEGER(), autoincrement=False, nullable=True)) + op.create_index('build_ended_on_canceled_started_on', 'build', ['ended_on', 'canceled', 'started_on'], unique=False) diff --git a/frontend/coprs_frontend/alembic/schema/versions/149da7c4ac2f_bz1361641.py b/frontend/coprs_frontend/alembic/schema/versions/149da7c4ac2f_bz1361641.py new file mode 100644 index 0000000..6ccdf3a --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/149da7c4ac2f_bz1361641.py @@ -0,0 +1,80 @@ +"""Bug 1361641 - Status in build table shows wrong values + +Revision ID: 149da7c4ac2f +Revises: 3a9905ed8ffd +Create Date: 2016-09-30 07:32:51.553858 + +""" + +# revision identifiers, used by Alembic. +revision = '149da7c4ac2f' +down_revision = '3a9905ed8ffd' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + query_functions = """ +CREATE OR REPLACE FUNCTION status_to_order (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 3 THEN 1 + WHEN x = 6 THEN 2 + WHEN x = 7 THEN 3 + WHEN x = 4 THEN 4 + WHEN x = 0 THEN 5 + WHEN x = 1 THEN 6 + WHEN x = 5 THEN 7 + WHEN x = 2 THEN 8 + ELSE x + END; END; + $$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION order_to_status (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 1 THEN 3 + WHEN x = 2 THEN 6 + WHEN x = 3 THEN 7 + WHEN x = 4 THEN 4 + WHEN x = 5 THEN 0 + WHEN x = 6 THEN 1 + WHEN x = 7 THEN 5 + WHEN x = 8 THEN 2 + ELSE x + END; END; + $$ LANGUAGE plpgsql; +""" + op.execute(sa.text(query_functions)) + + +def downgrade(): + query_functions = """ +CREATE OR REPLACE FUNCTION status_to_order (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 0 THEN 0 + WHEN x = 3 THEN 1 + WHEN x = 6 THEN 2 + WHEN x = 7 THEN 3 + WHEN x = 4 THEN 4 + WHEN x = 1 THEN 5 + WHEN x = 5 THEN 6 + WHEN x = 2 THEN 7 + ELSE x + END; END; + $$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION order_to_status (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 0 THEN 0 + WHEN x = 1 THEN 3 + WHEN x = 2 THEN 6 + WHEN x = 3 THEN 7 + WHEN x = 4 THEN 4 + WHEN x = 5 THEN 1 + WHEN x = 6 THEN 5 + WHEN x = 7 THEN 2 + ELSE x + END; END; + $$ LANGUAGE plpgsql; +""" + op.execute(sa.text(query_functions)) diff --git a/frontend/coprs_frontend/alembic/schema/versions/15852f9e313f_add_forked_status_for_build_chroot.py b/frontend/coprs_frontend/alembic/schema/versions/15852f9e313f_add_forked_status_for_build_chroot.py new file mode 100644 index 0000000..fda05af --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/15852f9e313f_add_forked_status_for_build_chroot.py @@ -0,0 +1,82 @@ +"""add forked status for build_chroot + +Revision ID: 15852f9e313f +Revises: 419a626c25e6 +Create Date: 2016-10-06 09:07:06.487213 + +""" + +# revision identifiers, used by Alembic. +revision = '15852f9e313f' +down_revision = '419a626c25e6' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + query_functions = """ +CREATE OR REPLACE FUNCTION status_to_order (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 3 THEN 1 + WHEN x = 6 THEN 2 + WHEN x = 7 THEN 3 + WHEN x = 4 THEN 4 + WHEN x = 0 THEN 5 + WHEN x = 1 THEN 6 + WHEN x = 5 THEN 7 + WHEN x = 2 THEN 8 + WHEN x = 8 THEN 9 + ELSE x + END; END; + $$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION order_to_status (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 1 THEN 3 + WHEN x = 2 THEN 6 + WHEN x = 3 THEN 7 + WHEN x = 4 THEN 4 + WHEN x = 5 THEN 0 + WHEN x = 6 THEN 1 + WHEN x = 7 THEN 5 + WHEN x = 8 THEN 2 + WHEN x = 9 THEN 8 + ELSE x + END; END; + $$ LANGUAGE plpgsql; +""" + op.execute(sa.text(query_functions)) + + +def downgrade(): + query_functions = """ +CREATE OR REPLACE FUNCTION status_to_order (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 3 THEN 1 + WHEN x = 6 THEN 2 + WHEN x = 7 THEN 3 + WHEN x = 4 THEN 4 + WHEN x = 0 THEN 5 + WHEN x = 1 THEN 6 + WHEN x = 5 THEN 7 + WHEN x = 2 THEN 8 + ELSE x + END; END; + $$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION order_to_status (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 1 THEN 3 + WHEN x = 2 THEN 6 + WHEN x = 3 THEN 7 + WHEN x = 4 THEN 4 + WHEN x = 5 THEN 0 + WHEN x = 6 THEN 1 + WHEN x = 7 THEN 5 + WHEN x = 8 THEN 2 + ELSE x + END; END; + $$ LANGUAGE plpgsql; +""" + op.execute(sa.text(query_functions)) diff --git a/frontend/coprs_frontend/alembic/schema/versions/19ca0c14096e_status_to_order_function.py b/frontend/coprs_frontend/alembic/schema/versions/19ca0c14096e_status_to_order_function.py new file mode 100644 index 0000000..ace2626 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/19ca0c14096e_status_to_order_function.py @@ -0,0 +1,27 @@ +"""status_to_order function + +Revision ID: 19ca0c14096e +Revises: 3ec22e1db75a +Create Date: 2015-11-16 21:20:46.498155 + +""" + +# revision identifiers, used by Alembic. +revision = '19ca0c14096e' +down_revision = '3ec22e1db75a' + +from alembic import op +import sqlalchemy as sa + +from coprs.logic.builds_logic import BuildsLogic + +def upgrade(): + BuildsLogic.init_db() + + +def downgrade(): + query = """DROP FUNCTION status_to_order (x integer); + DROP FUNCTION order_to_status (x integer); + """ + if op.get_bind().dialect.name == "postgresql": + op.execute(sa.text(query)) diff --git a/frontend/coprs_frontend/alembic/schema/versions/1ae2302aa2e6_persistent_attribute_added_for_copr_model.py b/frontend/coprs_frontend/alembic/schema/versions/1ae2302aa2e6_persistent_attribute_added_for_copr_model.py new file mode 100644 index 0000000..0944caa --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/1ae2302aa2e6_persistent_attribute_added_for_copr_model.py @@ -0,0 +1,26 @@ +"""persistent attribute added for copr model + +Revision ID: 1ae2302aa2e6 +Revises: 4567fd34cfb6 +Create Date: 2016-08-08 13:02:26.699654 + +""" + +# revision identifiers, used by Alembic. +revision = '1ae2302aa2e6' +down_revision = '4567fd34cfb6' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('copr', sa.Column('persistent', sa.Boolean(), server_default='0', nullable=False)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('copr', 'persistent') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/1c61e5b88e45_added_unlisted_on_hp_attribute_for_copr.py b/frontend/coprs_frontend/alembic/schema/versions/1c61e5b88e45_added_unlisted_on_hp_attribute_for_copr.py new file mode 100644 index 0000000..12b058c --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/1c61e5b88e45_added_unlisted_on_hp_attribute_for_copr.py @@ -0,0 +1,26 @@ +"""added unlisted_on_hp attribute for Copr + +Revision ID: 1c61e5b88e45 +Revises: 3b1ee8f6baaf +Create Date: 2016-06-16 08:30:46.559908 + +""" + +# revision identifiers, used by Alembic. +revision = '1c61e5b88e45' +down_revision = '3b1ee8f6baaf' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('copr', sa.Column('unlisted_on_hp', sa.Boolean(), nullable=False, server_default='f')) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('copr', 'unlisted_on_hp') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/1d5b5b1b27f9_copr_added_attribute_auto_createrepo.py b/frontend/coprs_frontend/alembic/schema/versions/1d5b5b1b27f9_copr_added_attribute_auto_createrepo.py new file mode 100644 index 0000000..5e7bdea --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/1d5b5b1b27f9_copr_added_attribute_auto_createrepo.py @@ -0,0 +1,24 @@ +"""Copr added attribute 'auto_createrepo' + +Revision ID: 1d5b5b1b27f9 +Revises: 2a4242380f24 +Create Date: 2014-10-21 14:32:45.062257 + +""" + +# revision identifiers, used by Alembic. +revision = '1d5b5b1b27f9' +down_revision = '2a4242380f24' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column('copr', sa.Column('auto_createrepo', sa.Boolean(), + default=True, server_default="true", nullable=False)) + + +def downgrade(): + op.drop_column('copr', 'auto_createrepo') + diff --git a/frontend/coprs_frontend/alembic/schema/versions/1ea00801be9e_latest_indexed_data_updated_column_.py b/frontend/coprs_frontend/alembic/schema/versions/1ea00801be9e_latest_indexed_data_updated_column_.py new file mode 100644 index 0000000..ebf1e54 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/1ea00801be9e_latest_indexed_data_updated_column_.py @@ -0,0 +1,21 @@ +"""latest_indexed_data_updated column added for copr + +Revision ID: 1ea00801be9e +Revises: 1c61e5b88e45 +Create Date: 2016-07-19 15:45:05.524428 + +""" + +# revision identifiers, used by Alembic. +revision = '1ea00801be9e' +down_revision = '1c61e5b88e45' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column('copr', sa.Column('latest_indexed_data_update', sa.Integer(), nullable=True)) + +def downgrade(): + op.drop_column('copr', 'latest_indexed_data_update') diff --git a/frontend/coprs_frontend/alembic/schema/versions/1ee4b45f5476_remove_fulltext_in_favor_of_whoosh.py b/frontend/coprs_frontend/alembic/schema/versions/1ee4b45f5476_remove_fulltext_in_favor_of_whoosh.py new file mode 100644 index 0000000..21c0efc --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/1ee4b45f5476_remove_fulltext_in_favor_of_whoosh.py @@ -0,0 +1,31 @@ +"""empty message + +Revision ID: 1ee4b45f5476 +Revises: 3a035889852c +Create Date: 2013-02-14 14:11:50.624673 + +""" + +# revision identifiers, used by Alembic. +revision = "1ee4b45f5476" +down_revision = "3a035889852c" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column("copr", u"copr_ts_col") + if op.get_bind().dialect.name == "postgresql": + op.execute("DROP trigger IF EXISTS copr_ts_update ON copr") + elif op.get_bind().dialect.name == "sqlite": + op.execute("DROP trigger IF EXISTS copr_ts_update") + op.execute("DROP trigger IF EXISTS copr_ts_insert") + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column("copr", sa.Column(u"copr_ts_col", sa.TEXT(), nullable=True)) + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/1ff696f006f1_last_deferred_column_added_for_build_chroot.py b/frontend/coprs_frontend/alembic/schema/versions/1ff696f006f1_last_deferred_column_added_for_build_chroot.py new file mode 100644 index 0000000..f642ed1 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/1ff696f006f1_last_deferred_column_added_for_build_chroot.py @@ -0,0 +1,26 @@ +"""last_deferred column added for BuildChroot + +Revision ID: 1ff696f006f1 +Revises: 1ea00801be9e +Create Date: 2016-06-28 21:04:27.036088 + +""" + +# revision identifiers, used by Alembic. +revision = '1ff696f006f1' +down_revision = '1ea00801be9e' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('build_chroot', sa.Column('last_deferred', sa.Integer(), nullable=True)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('build_chroot', 'last_deferred') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/20140423001_add_indexes.py b/frontend/coprs_frontend/alembic/schema/versions/20140423001_add_indexes.py new file mode 100644 index 0000000..d409771 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/20140423001_add_indexes.py @@ -0,0 +1,40 @@ +"""add indexes + +Revision ID: 20140423001 +Revises: 5845661bb37d +Create Date: 2014-04-24 11:25:36.216132 + +""" + +# revision identifiers, used by Alembic. +revision = '20140423001' +down_revision = '5845661bb37d' + +from alembic import op + + +def upgrade(): + op.create_index('build_ended_on_canceled_started_on', 'build', ['ended_on', 'canceled', 'started_on']) + op.create_index('copr_owner_id', 'copr', ['owner_id']) + op.create_index('copr_deleted_name', 'copr', ['deleted', 'name']) + op.create_index('copr_chroot_copr_id', 'copr_chroot', ['copr_id']) + op.create_index('action_result_action_type', 'action', ['result', 'action_type']) + op.create_index('user_openid_name', 'user', ['openid_name']) + op.create_index('copr_permission_copr_id', 'copr_permission', ['copr_id']) + op.create_index('build_chroot_build_id', 'build_chroot', ['build_id']) + op.create_index('user_api_login', 'user', ['api_login']) + op.create_index('legal_flag_resolved_on', 'legal_flag', ['resolved_on']) + +def downgrade(): + op.drop_index('build_ended_on_canceled_started_on') + op.drop_index('copr_owner_id') + op.drop_index('copr_deleted_name') + op.drop_index('copr_chroot_copr_id') + op.drop_index('action_result_action_type') + op.drop_index('user_openid_name') + op.drop_index('copr_permission_copr_id') + op.drop_index('build_chroot_build_id') + op.drop_index('user_api_login') + op.drop_index('legal_flag_resolved_on') + + diff --git a/frontend/coprs_frontend/alembic/schema/versions/22c5f7a954ce_add_forked_from_id_column.py b/frontend/coprs_frontend/alembic/schema/versions/22c5f7a954ce_add_forked_from_id_column.py new file mode 100644 index 0000000..c785300 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/22c5f7a954ce_add_forked_from_id_column.py @@ -0,0 +1,27 @@ +"""Add forked_from_id column + +Revision ID: 22c5f7a954ce +Revises: 2add9a2c36d9 +Create Date: 2016-02-29 13:52:59.175869 + +""" + +# revision identifiers, used by Alembic. +revision = '22c5f7a954ce' +down_revision = '2add9a2c36d9' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('copr', sa.Column('forked_from_id', sa.Integer(), nullable=True)) + op.create_foreign_key(None, 'copr', 'copr', ['forked_from_id'], ['id']) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('copr', 'forked_from_id') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/22fde92cb568_added_column_comps_name_to_coprchroot.py b/frontend/coprs_frontend/alembic/schema/versions/22fde92cb568_added_column_comps_name_to_coprchroot.py new file mode 100644 index 0000000..3da33f9 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/22fde92cb568_added_column_comps_name_to_coprchroot.py @@ -0,0 +1,28 @@ +"""added column comps_name to CoprChroot + +Revision ID: 22fde92cb568 +Revises: 4f6b48ec62ab +Create Date: 2015-08-18 12:28:49.816996 + +""" + +# revision identifiers, used by Alembic. +revision = '22fde92cb568' +down_revision = '4f6b48ec62ab' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('copr_chroot', sa.Column('comps_name', sa.String(length=127), nullable=True)) + op.add_column('copr_chroot', sa.Column('comps_zlib', sa.LargeBinary(), nullable=True)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('copr_chroot', 'comps_name') + op.drop_column('copr_chroot', 'comps_zlib') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/246fd2dbf398_add_legal_flag.py b/frontend/coprs_frontend/alembic/schema/versions/246fd2dbf398_add_legal_flag.py new file mode 100644 index 0000000..d8f4322 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/246fd2dbf398_add_legal_flag.py @@ -0,0 +1,36 @@ +"""add_legal_flag + +Revision ID: 246fd2dbf398 +Revises: d062c3d9c00 +Create Date: 2013-04-03 10:39:54.837803 + +""" + +# revision identifiers, used by Alembic. +revision = "246fd2dbf398" +down_revision = "d062c3d9c00" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column( + "legal_flag", sa.Column("resolved_on", sa.Integer(), nullable=True)) + op.add_column( + "legal_flag", sa.Column("raised_on", sa.Integer(), nullable=True)) + op.drop_column("legal_flag", u"state") + op.drop_column("legal_flag", u"resolve_message") + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column("legal_flag", sa.Column( + u"resolve_message", sa.TEXT(), nullable=True)) + op.add_column( + "legal_flag", sa.Column(u"state", sa.INTEGER(), nullable=True)) + op.drop_column("legal_flag", "raised_on") + op.drop_column("legal_flag", "resolved_on") + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/294405dfc7c0_add_action_data_fiel.py b/frontend/coprs_frontend/alembic/schema/versions/294405dfc7c0_add_action_data_fiel.py new file mode 100644 index 0000000..afe396b --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/294405dfc7c0_add_action_data_fiel.py @@ -0,0 +1,24 @@ +"""add Action.data field + +Revision ID: 294405dfc7c0 +Revises: 3a415c6392bc +Create Date: 2014-01-20 15:43:09.986912 + +""" + +# revision identifiers, used by Alembic. +revision = "294405dfc7c0" +down_revision = "3a415c6392bc" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Add "data" colum to action table. """ + op.add_column("action", sa.Column("data", sa.Text())) + + +def downgrade(): + """ Drop "data" colum from action table. """ + op.drop_column("action", "data") diff --git a/frontend/coprs_frontend/alembic/schema/versions/2a4242380f24_add_krb5_login_table.py b/frontend/coprs_frontend/alembic/schema/versions/2a4242380f24_add_krb5_login_table.py new file mode 100644 index 0000000..08a7b0f --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/2a4242380f24_add_krb5_login_table.py @@ -0,0 +1,27 @@ +"""Add 'krb5_login' table + +Revision ID: 2a4242380f24 +Revises: bd0a15c7b6f +Create Date: 2014-08-21 11:40:19.181293 + +""" + +# revision identifiers, used by Alembic. +revision = '2a4242380f24' +down_revision = 'bd0a15c7b6f' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.create_table('krb5_login', + sa.Column('user_id', sa.Integer(), nullable=False), + sa.Column('config_name', sa.String(length=30), nullable=False), + sa.Column('primary', sa.String(length=80), nullable=False), + sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), + sa.PrimaryKeyConstraint('primary', 'config_name') + ) + +def downgrade(): + op.drop_table('krb5_login') diff --git a/frontend/coprs_frontend/alembic/schema/versions/2a75f0a06d90_add_a_api_login_fiel.py b/frontend/coprs_frontend/alembic/schema/versions/2a75f0a06d90_add_a_api_login_fiel.py new file mode 100644 index 0000000..980b707 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/2a75f0a06d90_add_a_api_login_fiel.py @@ -0,0 +1,26 @@ +"""Add a api_login field to user + +Revision ID: 2a75f0a06d90 +Revises: 544873aa3ba1 +Create Date: 2013-03-10 10:01:16.820499 + +""" + +# revision identifiers, used by Alembic. +revision = "2a75f0a06d90" +down_revision = "544873aa3ba1" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Add the colum "api_login" to the table user. """ + op.add_column("user", sa.Column("api_login", sa.String(40), + nullable=False, + server_default="default_token")) + + +def downgrade(): + """ Drop the column "api_login" from the table user. """ + op.drop_column("user", "api_login") diff --git a/frontend/coprs_frontend/alembic/schema/versions/2add9a2c36d9_add_old_status_to_package.py b/frontend/coprs_frontend/alembic/schema/versions/2add9a2c36d9_add_old_status_to_package.py new file mode 100644 index 0000000..d75e04f --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/2add9a2c36d9_add_old_status_to_package.py @@ -0,0 +1,26 @@ +"""Add old_status to Package + +Revision ID: 2add9a2c36d9 +Revises: 573044986ee9 +Create Date: 2016-02-24 02:51:35.808885 + +""" + +# revision identifiers, used by Alembic. +revision = '2add9a2c36d9' +down_revision = '573044986ee9' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('package', sa.Column('old_status', sa.Integer(), nullable=True)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('package', 'old_status') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/2df28d2d072f_added_column_build_enable_net.py b/frontend/coprs_frontend/alembic/schema/versions/2df28d2d072f_added_column_build_enable_net.py new file mode 100644 index 0000000..8e19dff --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/2df28d2d072f_added_column_build_enable_net.py @@ -0,0 +1,27 @@ +"""added column Build.enable_net + +Revision ID: 2df28d2d072f +Revises: 1d5b5b1b27f9 +Create Date: 2015-01-02 17:55:02.169421 + +""" + +# revision identifiers, used by Alembic. +revision = '2df28d2d072f' +down_revision = '1d5b5b1b27f9' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('build', sa.Column('enable_net', sa.Boolean(), server_default='0', nullable=False)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('build', 'enable_net') + ### end Alembic commands ### + diff --git a/frontend/coprs_frontend/alembic/schema/versions/2e30169e58ce_change_api_token_len.py b/frontend/coprs_frontend/alembic/schema/versions/2e30169e58ce_change_api_token_len.py new file mode 100644 index 0000000..2e8c9bf --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/2e30169e58ce_change_api_token_len.py @@ -0,0 +1,30 @@ +"""Change api_token length from varchar(40) to varchar(255) + +Revision ID: 2e30169e58ce +Revises: 32ba137a3d56 +Create Date: 2013-01-08 19:42:16.562926 + +""" + +# revision identifiers, used by Alembic. +revision = '2e30169e58ce' +down_revision = '32ba137a3d56' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Change the api_token field from the user table from varchar(40) to + varchar(255). + """ + if op.get_bind().dialect.name != 'sqlite': + op.alter_column("user", "api_token", type_=sa.String(255)) + + +def downgrade(): + """ Change the api_token field from the user table from varchar(255) to + varchar(40). + """ + if op.get_bind().dialect.name != 'sqlite': + op.alter_column("user", "api_token", type_=sa.String(40)) diff --git a/frontend/coprs_frontend/alembic/schema/versions/2fa80e062525_add_mock_chroots.py b/frontend/coprs_frontend/alembic/schema/versions/2fa80e062525_add_mock_chroots.py new file mode 100644 index 0000000..9b2e402 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/2fa80e062525_add_mock_chroots.py @@ -0,0 +1,111 @@ +"""empty message + +Revision ID: 2fa80e062525 +Revises: 2e30169e58ce +Create Date: 2013-01-14 09:04:42.768432 + +""" + +# revision identifiers, used by Alembic. +revision = "2fa80e062525" +down_revision = "2e30169e58ce" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table("mock_chroot", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column( + "os_release", sa.String(length=50), nullable=False), + sa.Column( + "os_version", sa.String(length=50), nullable=False), + sa.Column("arch", sa.String(length=50), nullable=False), + sa.Column("is_active", sa.Boolean(), nullable=False), + sa.PrimaryKeyConstraint("id") + ) + op.create_table("copr_chroot", + sa.Column("mock_chroot_id", sa.Integer(), nullable=False), + sa.Column("copr_id", sa.Integer(), nullable=False), + sa.ForeignKeyConstraint(["copr_id"], ["copr.id"], ), + sa.ForeignKeyConstraint( + ["mock_chroot_id"], ["mock_chroot.id"], ), + sa.PrimaryKeyConstraint("mock_chroot_id", "copr_id") + ) + + # transfer the data - we can"t assume how the code looks like when + # running the migration, so do everything from scratch + metadata = sa.MetaData() + # just what we need of copr table + coprs_table = sa.Table("copr", metadata, sa.Column( + "chroots", sa.Text()), sa.Column("id", sa.Integer())) + # get chroots + chroots = set() + for cs in op.get_bind().execute(sa.select([coprs_table.c.chroots])): + chroots.update(set(cs[0].split(" "))) + chroots = list(chroots) + + mc_table = sa.Table("mock_chroot", metadata, + sa.Column("id", sa.Integer(), nullable=False), + sa.Column( + "os_release", sa.String(length=50), nullable=False), + sa.Column( + "os_version", sa.String(length=50), nullable=False), + sa.Column( + "arch", sa.String(length=50), nullable=False), + sa.Column("is_active", sa.Boolean(), nullable=False), + ) + cc_table = sa.Table("copr_chroot", metadata, + sa.Column( + "mock_chroot_id", sa.Integer(), nullable=False), + sa.Column("copr_id", sa.Integer(), nullable=False), + ) + # each mock_chroot now has id of value i + 1 (not to include 0) + for i, c in enumerate(chroots): + sc = c.split("-") + op.bulk_insert(mc_table, [ + {"id": i + 1, + "os_release": sc[0], + "os_version": sc[1], + "arch": sc[2], + "is_active": True}]) + + # insert proper copr_chroots for every copr + for row in op.get_bind().execute(sa.select([coprs_table.c.id, coprs_table.c.chroots])): + for c in row[1].split(" "): + op.bulk_insert( + cc_table, [{"mock_chroot_id": chroots.index(c) + 1, + "copr_id": row[0]}]) + + if op.get_bind().dialect.name == "sqlite": + op.rename_table("copr", "copr_1") + op.create_table("copr", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column( + "name", sa.String(length=100), nullable=False), + sa.Column("repos", sa.Text(), nullable=True), + sa.Column("created_on", sa.Integer(), nullable=True), + sa.Column("build_count", sa.Integer(), nullable=True), + sa.Column("owner_id", sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(["owner_id"], ["user.id"], ), + sa.PrimaryKeyConstraint("id") + ) + op.execute( + "INSERT INTO copr SELECT id,name,repos,created_on,build_count,owner_id FROM copr_1") + op.drop_table("copr_1") + else: + op.drop_column("copr", u"chroots") + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column("copr", sa.Column( + u"chroots", sa.TEXT(), nullable=False, + server_default="fedora-rawhide-x86_64")) + + op.drop_table("copr_chroot") + op.drop_table("mock_chroot") + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/32ba137a3d56_add_token_informatio.py b/frontend/coprs_frontend/alembic/schema/versions/32ba137a3d56_add_token_informatio.py new file mode 100644 index 0000000..f9f9161 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/32ba137a3d56_add_token_informatio.py @@ -0,0 +1,33 @@ +"""Add token information to the user table + +Revision ID: 32ba137a3d56 +Revises: 595a31c145fb +Create Date: 2013-01-07 20:56:14.698735 + +""" + +# revision identifiers, used by Alembic. +revision = "32ba137a3d56" +down_revision = "595a31c145fb" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Add the coluns api_token and api_token_expiration to the user table. + """ + op.add_column("user", sa.Column("api_token", sa.String(40), + nullable=False, + server_default="default_token")) + + op.add_column("user", sa.Column("api_token_expiration", sa.Date, + nullable=False, + server_default="2000-1-1")) + + +def downgrade(): + """ Drop the coluns api_token and api_token_expiration to the user table. + """ + op.drop_column("user", "api_token") + op.drop_column("user", "api_token_expiration") diff --git a/frontend/coprs_frontend/alembic/schema/versions/32fa3f232c34_owner_renamed_to_user_in_copr_table.py b/frontend/coprs_frontend/alembic/schema/versions/32fa3f232c34_owner_renamed_to_user_in_copr_table.py new file mode 100644 index 0000000..e6dd18d --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/32fa3f232c34_owner_renamed_to_user_in_copr_table.py @@ -0,0 +1,48 @@ +"""Owner renamed to User in copr table + +Revision ID: 32fa3f232c34 +Revises: 13af46c70227 +Create Date: 2016-04-15 09:33:52.137979 + +""" + +# revision identifiers, used by Alembic. +revision = '32fa3f232c34' +down_revision = '13af46c70227' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column('copr', sa.Column('user_id', sa.Integer(), nullable=True)) + + copr_table = sa.Table( + 'copr', + sa.MetaData(), + sa.Column('owner_id', sa.Integer(), sa.ForeignKey('user.id'), nullable=True), + sa.Column('user_id', sa.Integer(), nullable=True), + ) + + op.execute('UPDATE "copr" SET user_id = owner_id') + + op.drop_constraint(u'copr_owner_id_fkey', 'copr', type_='foreignkey') + op.create_foreign_key(u'copr_user_id_fkey', 'copr', 'user', ['user_id'], ['id']) + op.drop_column('copr', 'owner_id') + + +def downgrade(): + op.add_column('copr', sa.Column('owner_id', sa.INTEGER(), autoincrement=False, nullable=True)) + + copr_table = sa.Table( + 'copr', + sa.MetaData(), + sa.Column('owner_id', sa.Integer(), sa.ForeignKey('user.id'), nullable=True), + sa.Column('user_id', sa.Integer(), nullable=True), + ) + + op.execute('UPDATE "copr" SET owner_id = user_id') + + op.drop_constraint(u'copr_user_id_fkey', 'copr', type_='foreignkey') + op.create_foreign_key(u'copr_owner_id_fkey', 'copr', 'user', ['owner_id'], ['id']) + op.drop_column('copr', 'user_id') diff --git a/frontend/coprs_frontend/alembic/schema/versions/3341bf554454_add_mageia_chroots.py b/frontend/coprs_frontend/alembic/schema/versions/3341bf554454_add_mageia_chroots.py new file mode 100644 index 0000000..e4717bb --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3341bf554454_add_mageia_chroots.py @@ -0,0 +1,24 @@ +"""add mageia chroots + +Revision ID: 3341bf554454 +Revises: 8de41eec1d1 +Create Date: 2016-09-20 19:28:16.115630 + +""" + +# revision identifiers, used by Alembic. +revision = '3341bf554454' +down_revision = '8de41eec1d1' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Moved to coprs_frontend/alembic/fedora/versions """ + pass + + +def downgrade(): + """ Moved to coprs_frontend/alembic/fedora/versions """ + pass diff --git a/frontend/coprs_frontend/alembic/schema/versions/38f205566f20_make_data_in_copr_id_name_in_package_.py b/frontend/coprs_frontend/alembic/schema/versions/38f205566f20_make_data_in_copr_id_name_in_package_.py new file mode 100644 index 0000000..63dbe32 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/38f205566f20_make_data_in_copr_id_name_in_package_.py @@ -0,0 +1,29 @@ +"""make data in (copr_id, name) in package table unique, see Bug 1382243 - Multiple rows were found for one() + Assume that there are no two packages with the same name in the same copr both having some builds referencing them + (otherwise manual "rebinding" of the builds to just one of the packages is needed). + +Revision ID: 38f205566f20 +Revises: 15852f9e313f +Create Date: 2016-10-10 14:09:03.353726 + +""" + +# revision identifiers, used by Alembic. +revision = '38f205566f20' +down_revision = '15852f9e313f' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + bind = op.get_bind() + connection = bind.connect() + connection.execute(""" + DELETE FROM package WHERE package.id NOT IN (SELECT DISTINCT package_id FROM build WHERE package_id IS NOT NULL) AND EXISTS (SELECT id FROM package AS package2 WHERE package2.copr_id=package.copr_id AND package2.name=package.name AND package2.id!=package.id); + """) + connection.close() + +def downgrade(): + # this migration is only one-way + pass diff --git a/frontend/coprs_frontend/alembic/schema/versions/3a035889852c_add_copr_fulltext.py b/frontend/coprs_frontend/alembic/schema/versions/3a035889852c_add_copr_fulltext.py new file mode 100644 index 0000000..36a94c8 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3a035889852c_add_copr_fulltext.py @@ -0,0 +1,79 @@ +"""add_copr_fulltext + +Revision ID: 3a035889852c +Revises: 3c3cce7a5fe0 +Create Date: 2013-02-01 10:06:37.034495 + +""" + +# revision identifiers, used by Alembic. +revision = '3a035889852c' +down_revision = '3c3cce7a5fe0' + +from alembic import op +import sqlalchemy as sa +from sqlalchemy import types +from sqlalchemy.ext import compiler + + +class Tsvector(types.UnicodeText): + pass + + +@compiler.compiles(Tsvector, 'postgresql') +def compile_tsvector(element, compiler, **kw): + return 'tsvector' + + +@compiler.compiles(Tsvector, 'sqlite') +def compile_tsvector(element, compiler, **kw): + return 'text' + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('copr', sa.Column('copr_ts_col', Tsvector(), nullable=True)) + op.create_index( + 'copr_ts_idx', 'copr', ['copr_ts_col'], postgresql_using='gin') + + session = sa.orm.sessionmaker(bind=op.get_bind())() + metadata = sa.MetaData() + if op.get_bind().dialect.name == 'postgresql': + op.execute("UPDATE copr \ + SET copr_ts_col = to_tsvector('pg_catalog.english', coalesce(name, '') || ' ' || \ + coalesce(description, '') || ' ' || coalesce(instructions, ''))") + # no need to coalesce here, the trigger doesn't need it + op.execute("CREATE TRIGGER copr_ts_update BEFORE INSERT OR UPDATE \ + ON copr \ + FOR EACH ROW EXECUTE PROCEDURE \ + tsvector_update_trigger(copr_ts_col, 'pg_catalog.english', name, description, instructions);") + elif op.get_bind().dialect.name == 'sqlite': + op.execute("UPDATE copr \ + SET copr_ts_col = coalesce(name, '') || ' ' || \ + coalesce(description, '') || ' ' || coalesce(instructions, '')") + # two triggers for sqlite... + op.execute("CREATE TRIGGER copr_ts_update \ + AFTER UPDATE OF name, description, instructions \ + ON copr \ + FOR EACH ROW \ + BEGIN \ + UPDATE copr SET copr_ts_col = coalesce(name, '') || ' ' || \ + coalesce(description, '') || ' ' || coalesce(instructions, ''); \ + END;") + op.execute("CREATE TRIGGER copr_ts_insert \ + AFTER INSERT \ + ON copr \ + FOR EACH ROW \ + BEGIN \ + UPDATE copr SET copr_ts_col = coalesce(name, '') || ' ' || \ + coalesce(description, '') || ' ' || coalesce(instructions, ''); \ + END;") + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('copr', 'copr_ts_col') + if op.get_bind().dialect.name == 'postgresql': + op.execute("DROP TRIGGER copr_ts_update ON copr") + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/3a415c6392bc_add_buildroot_pkgs_c.py b/frontend/coprs_frontend/alembic/schema/versions/3a415c6392bc_add_buildroot_pkgs_c.py new file mode 100644 index 0000000..fc98197 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3a415c6392bc_add_buildroot_pkgs_c.py @@ -0,0 +1,23 @@ +"""add buildroot_pkgs column + +Revision ID: 3a415c6392bc +Revises: 52e53e7b413e +Create Date: 2013-11-28 15:46:24.860025 + +""" + +# revision identifiers, used by Alembic. +revision = "3a415c6392bc" +down_revision = "52e53e7b413e" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column("copr_chroot", sa.Column( + "buildroot_pkgs", sa.Text(), nullable=True)) + + +def downgrade(): + op.drop_column("copr_chroot", "buildroot_pkgs") diff --git a/frontend/coprs_frontend/alembic/schema/versions/3a9905ed8ffd_add_index_to_build_chroot_ended_on_.py b/frontend/coprs_frontend/alembic/schema/versions/3a9905ed8ffd_add_index_to_build_chroot_ended_on_.py new file mode 100644 index 0000000..9da39a9 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3a9905ed8ffd_add_index_to_build_chroot_ended_on_.py @@ -0,0 +1,26 @@ +"""add index to build_chroot.ended_on column + +Revision ID: 3a9905ed8ffd +Revises: 3341bf554454 +Create Date: 2016-09-27 11:57:50.075139 + +""" + +# revision identifiers, used by Alembic. +revision = '3a9905ed8ffd' +down_revision = '3341bf554454' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_build_chroot_ended_on'), 'build_chroot', ['ended_on'], unique=False) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_index('ix_build_chroot_ended_on', table_name='build_chroot') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/3b1ee8f6baaf_add_is_background_column.py b/frontend/coprs_frontend/alembic/schema/versions/3b1ee8f6baaf_add_is_background_column.py new file mode 100644 index 0000000..673083c --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3b1ee8f6baaf_add_is_background_column.py @@ -0,0 +1,22 @@ +"""Add is_background column + +Revision ID: 3b1ee8f6baaf +Revises: 32fa3f232c34 +Create Date: 2016-06-13 11:05:00.424325 + +""" + +# revision identifiers, used by Alembic. +revision = '3b1ee8f6baaf' +down_revision = '32fa3f232c34' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column('build', sa.Column('is_background', sa.Boolean(), server_default='0', nullable=False)) + + +def downgrade(): + op.drop_column('build', 'is_background') diff --git a/frontend/coprs_frontend/alembic/schema/versions/3b4cfc666d14_.py b/frontend/coprs_frontend/alembic/schema/versions/3b4cfc666d14_.py new file mode 100644 index 0000000..b58e0d2 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3b4cfc666d14_.py @@ -0,0 +1,26 @@ +"""empty message + +Revision ID: 3b4cfc666d14 +Revises: 22fde92cb568 +Create Date: 2015-08-31 17:17:52.396183 + +""" + +# revision identifiers, used by Alembic. +revision = '3b4cfc666d14' +down_revision = '22fde92cb568' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('build', sa.Column('fail_type', sa.Integer(), default=0)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('build', 'fail_type') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/3b67c52f5277_add_repos_to_copr_chroot.py b/frontend/coprs_frontend/alembic/schema/versions/3b67c52f5277_add_repos_to_copr_chroot.py new file mode 100644 index 0000000..6ef65b6 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3b67c52f5277_add_repos_to_copr_chroot.py @@ -0,0 +1,22 @@ +"""add repos to copr_chroot + +Revision ID: 3b67c52f5277 +Revises: 4c6d0a2db343 +Create Date: 2016-11-24 12:06:34.092195 + +""" + +# revision identifiers, used by Alembic. +revision = '3b67c52f5277' +down_revision = '4c6d0a2db343' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column(u'copr_chroot', sa.Column('repos', sa.Text(), nullable=False, server_default='')) + + +def downgrade(): + op.drop_column(u'copr_chroot', 'repos') diff --git a/frontend/coprs_frontend/alembic/schema/versions/3c3cce7a5fe0_add_copr_desc_and_instruct.py b/frontend/coprs_frontend/alembic/schema/versions/3c3cce7a5fe0_add_copr_desc_and_instruct.py new file mode 100644 index 0000000..77a612d --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3c3cce7a5fe0_add_copr_desc_and_instruct.py @@ -0,0 +1,28 @@ +"""empty message + +Revision ID: 3c3cce7a5fe0 +Revises: 2fa80e062525 +Create Date: 2013-01-22 09:42:39.037642 + +""" + +# revision identifiers, used by Alembic. +revision = "3c3cce7a5fe0" +down_revision = "2fa80e062525" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column("copr", sa.Column("description", sa.Text(), nullable=True)) + op.add_column("copr", sa.Column("instructions", sa.Text(), nullable=True)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column("copr", "instructions") + op.drop_column("copr", "description") + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/3ec22e1db75a_add_openid_group_column.py b/frontend/coprs_frontend/alembic/schema/versions/3ec22e1db75a_add_openid_group_column.py new file mode 100644 index 0000000..8171c18 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3ec22e1db75a_add_openid_group_column.py @@ -0,0 +1,27 @@ +"""Add openid_group column + +Revision ID: 3ec22e1db75a +Revises: 3f4966a9cc0 +Create Date: 2015-10-09 07:56:41.303179 + +""" + +# revision identifiers, used by Alembic. +revision = '3ec22e1db75a' +down_revision = '3f4966a9cc0' + +from alembic import op +import sqlalchemy as sa + +import os +import sys +here = os.path.dirname(os.path.realpath(__file__)) +sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(here)))) +from coprs.helpers import JSONEncodedDict + +def upgrade(): + op.add_column('user', sa.Column('openid_groups', JSONEncodedDict(), nullable=True)) + + +def downgrade(): + op.drop_column('user', 'openid_groups') diff --git a/frontend/coprs_frontend/alembic/schema/versions/3f4966a9cc0_add_group_table.py b/frontend/coprs_frontend/alembic/schema/versions/3f4966a9cc0_add_group_table.py new file mode 100644 index 0000000..8e0e955 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3f4966a9cc0_add_group_table.py @@ -0,0 +1,31 @@ +"""Add group table + +Revision ID: 3f4966a9cc0 +Revises: 3b4cfc666d14 +Create Date: 2015-09-24 10:14:06.291886 + +""" + +# revision identifiers, used by Alembic. +revision = '3f4966a9cc0' +down_revision = '3b4cfc666d14' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.create_table('group', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('name', sa.String(length=127), nullable=True), + sa.Column('fas_name', sa.String(length=127), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.add_column('copr', + sa.Column('group_id', sa.Integer(), nullable=True) + ) + + +def downgrade(): + op.drop_table('group') + op.drop_column('copr', 'group_id') diff --git a/frontend/coprs_frontend/alembic/schema/versions/3fdedd58ac73_add_module_table.py b/frontend/coprs_frontend/alembic/schema/versions/3fdedd58ac73_add_module_table.py new file mode 100644 index 0000000..31027be --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3fdedd58ac73_add_module_table.py @@ -0,0 +1,118 @@ +"""add module table + +Revision ID: 3fdedd58ac73 +Revises: 412c2c8d9da +Create Date: 2016-10-26 22:01:09.361070 + +""" + +# revision identifiers, used by Alembic. +revision = '3fdedd58ac73' +down_revision = '412c2c8d9da' + +from alembic import op +import sqlalchemy as sa + +from coprs.models import Module, Action, Copr, User, Group +from sqlalchemy.orm import sessionmaker + +import json +import base64 +import modulemd +import yaml +from coprs.logic.coprs_logic import CoprsLogic +from coprs.logic.actions_logic import ActionsLogic +from coprs.helpers import ActionTypeEnum + + +def upgrade(): + bind = op.get_bind() + Session = sessionmaker() + session = Session(bind=bind) + + op.create_table( + "module", + sa.Column("id", sa.Integer, primary_key=True), + sa.Column("name", sa.String(100), nullable=False), + sa.Column("stream", sa.String(100), nullable=False), + sa.Column("version", sa.Integer, nullable=False), + sa.Column("summary", sa.String(100), nullable=False), + sa.Column("description", sa.Text), + sa.Column("created_on", sa.Integer, nullable=True), + sa.Column("yaml_b64", sa.Text), + sa.Column("copr_id", sa.Integer, sa.ForeignKey("copr.id")), + ) + op.create_unique_constraint("unique_name_stream_version_copr_id", "module", + ["name", "stream", "version", "copr_id"]) + session.commit() + + # Now, let's seed the table with existing modules which are violently stored in the `action` table + added_modules = set() + for action in ActionsLogic.get_many(ActionTypeEnum("build_module")).order_by(Action.id.desc()): + data = json.loads(action.data) + if not "ownername" in data: + continue # already new action format + copr = get_copr(session, data["ownername"], data["projectname"]) + yml_str = base64.b64decode(data["modulemd_b64"]) + yml = yaml.safe_load(yml_str) + + mmd = modulemd.ModuleMetadata() + mmd.name = yml["data"]["name"] + mmd.stream = "" + mmd.version = action.created_on + mmd.summary = yml["data"]["summary"] + + if "filter" in yml["data"]["components"]["rpms"]: + for package in yml["data"]["components"]["rpms"]["filter"]: + mmd.filter.add_rpm(package) + + for package in yml["data"]["components"]["rpms"]["api"]: + mmd.api.add_rpm(package) + + for profile_name in yml["data"]["profiles"]: + mmd.profiles[profile_name] = modulemd.profile.ModuleProfile() + for package in yml["data"]["profiles"][profile_name]["rpms"]: + mmd.profiles[profile_name].add_rpm(package) + + module_kwargs = { + "name": mmd.name, + "stream": mmd.stream, + "version": mmd.version, + "summary": mmd.summary, + "description": mmd.description, + "yaml_b64": base64.b64encode(mmd.dumps()), + "created_on": action.created_on, + "copr_id": copr.id, + } + + # There is no constraint for currently existing modules, but in new table, there + # must be unique (copr, nsv). Therefore in the case of duplicit modules, + # we will add only the newest one + if full_module_name(copr, mmd) in added_modules: + print("Skipping {}; Already exists".format(full_module_name(copr, mmd))) + continue + else: + print("Adding {}".format(full_module_name(copr, mmd))) + + session.add(Module(**module_kwargs)) + added_modules.add(full_module_name(copr, mmd)) + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_table('module') + ### end Alembic commands ### + + +def full_module_name(copr, mmd): + return "{}/{}-{}-{}".format( + copr.full_name, mmd.name, mmd.stream, mmd.version + ) + + +def get_copr(session, ownername, projectname): + if ownername[0] == "@": + coprs = CoprsLogic.filter_by_group_name(session.query(Copr), ownername[1:]) + else: + coprs = CoprsLogic.filter_by_user_name(session.query(Copr), ownername) + return CoprsLogic.filter_by_name(coprs, projectname).first() diff --git a/frontend/coprs_frontend/alembic/schema/versions/412c2c8d9da_add_auto_prune_attribute_for_project.py b/frontend/coprs_frontend/alembic/schema/versions/412c2c8d9da_add_auto_prune_attribute_for_project.py new file mode 100644 index 0000000..03b8eda --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/412c2c8d9da_add_auto_prune_attribute_for_project.py @@ -0,0 +1,22 @@ +"""add auto_prune attribute for project + +Revision ID: 412c2c8d9da +Revises: 414a86b37a0f +Create Date: 2016-11-14 10:33:03.299810 + +""" + +# revision identifiers, used by Alembic. +revision = '412c2c8d9da' +down_revision = '414a86b37a0f' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column('copr', sa.Column('auto_prune', sa.Boolean(), nullable=False, server_default='t')) + + +def downgrade(): + op.drop_column('copr', 'auto_prune') diff --git a/frontend/coprs_frontend/alembic/schema/versions/414a86b37a0f_add_unique_constraint_on_copr_id_name_.py b/frontend/coprs_frontend/alembic/schema/versions/414a86b37a0f_add_unique_constraint_on_copr_id_name_.py new file mode 100644 index 0000000..ccd30f4 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/414a86b37a0f_add_unique_constraint_on_copr_id_name_.py @@ -0,0 +1,22 @@ +"""add unique constraint on (copr_id, name) in package table + +Revision ID: 414a86b37a0f +Revises: 38f205566f20 +Create Date: 2016-10-10 14:09:22.972767 + +""" + +# revision identifiers, used by Alembic. +revision = '414a86b37a0f' +down_revision = '38f205566f20' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.create_unique_constraint("packages_copr_pkgname", "package", ["copr_id", "name"]) + + +def downgrade(): + op.drop_constraint("packages_copr_pkgname", "package") diff --git a/frontend/coprs_frontend/alembic/schema/versions/419a626c25e6_rename_rawhide_to_f26.py b/frontend/coprs_frontend/alembic/schema/versions/419a626c25e6_rename_rawhide_to_f26.py new file mode 100644 index 0000000..5ee98db --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/419a626c25e6_rename_rawhide_to_f26.py @@ -0,0 +1,24 @@ +"""Rename rawhide to f26 + +Revision ID: 419a626c25e6 +Revises: 149da7c4ac2f +Create Date: 2016-10-05 13:16:21.428071 + +""" + +# revision identifiers, used by Alembic. +revision = '419a626c25e6' +down_revision = '149da7c4ac2f' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Moved to coprs_frontend/alembic/fedora/versions """ + pass + + +def downgrade(): + """ Moved to coprs_frontend/alembic/fedora/versions """ + pass diff --git a/frontend/coprs_frontend/alembic/schema/versions/450fe5f7942d_added_table_counterstat.py b/frontend/coprs_frontend/alembic/schema/versions/450fe5f7942d_added_table_counterstat.py new file mode 100644 index 0000000..dae6c40 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/450fe5f7942d_added_table_counterstat.py @@ -0,0 +1,31 @@ +"""added table CounterStat + +Revision ID: 450fe5f7942d +Revises: bd0dab2e478 +Create Date: 2015-02-19 23:40:08.934834 + +""" + +# revision identifiers, used by Alembic. +revision = '450fe5f7942d' +down_revision = 'bd0dab2e478' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table('counter_stat', + sa.Column('name', sa.String(length=127), nullable=False), + sa.Column('counter_type', sa.String(length=30), nullable=True), + sa.Column('counter', sa.Integer(), server_default='0', nullable=True), + sa.PrimaryKeyConstraint('name') + ) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_table('counter_stat') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/451e9507b866_generalize_action.py b/frontend/coprs_frontend/alembic/schema/versions/451e9507b866_generalize_action.py new file mode 100644 index 0000000..3622cf4 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/451e9507b866_generalize_action.py @@ -0,0 +1,31 @@ +"""generalize_action + +Revision ID: 451e9507b866 +Revises: 2a75f0a06d90 +Create Date: 2013-03-29 12:13:33.303584 + +""" + +# revision identifiers, used by Alembic. +revision = "451e9507b866" +down_revision = "2a75f0a06d90" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column("action", sa.Column("message", sa.Text(), nullable=True)) + op.add_column("action", sa.Column("ended_on", sa.Integer(), nullable=True)) + op.drop_column("action", u"backend_message") + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column( + "action", sa.Column(u"backend_message", sa.TEXT(), nullable=True)) + op.drop_column("action", "ended_on") + op.drop_column("action", "message") + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/4567fd34cfb6_added_module_md_zlib_and_module_md_name_.py b/frontend/coprs_frontend/alembic/schema/versions/4567fd34cfb6_added_module_md_zlib_and_module_md_name_.py new file mode 100644 index 0000000..38198cf --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/4567fd34cfb6_added_module_md_zlib_and_module_md_name_.py @@ -0,0 +1,28 @@ +"""added module_md_zlib and module_md_name to coprchroot + +Revision ID: 4567fd34cfb6 +Revises: 1ff696f006f1 +Create Date: 2016-07-18 13:58:51.629188 + +""" + +# revision identifiers, used by Alembic. +revision = '4567fd34cfb6' +down_revision = '1ff696f006f1' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('copr_chroot', sa.Column('module_md_name', sa.String(length=127), nullable=True)) + op.add_column('copr_chroot', sa.Column('module_md_zlib', sa.LargeBinary(), nullable=True)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('copr_chroot', 'module_md_zlib') + op.drop_column('copr_chroot', 'module_md_name') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/4837ad1d96ea_drop_copr_build_coun.py b/frontend/coprs_frontend/alembic/schema/versions/4837ad1d96ea_drop_copr_build_coun.py new file mode 100644 index 0000000..dc5e7ce --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/4837ad1d96ea_drop_copr_build_coun.py @@ -0,0 +1,24 @@ +"""drop Copr.build_count + +Revision ID: 4837ad1d96ea +Revises: 294405dfc7c0 +Create Date: 2014-01-20 17:05:20.917522 + +""" + +# revision identifiers, used by Alembic. +revision = "4837ad1d96ea" +down_revision = "294405dfc7c0" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Drop "build_count" colum from copr table. """ + op.drop_column("copr", "build_count") + + +def downgrade(): + """ Add "build_count" colum to copr table. """ + op.add_column("copr", sa.Column("build_count", sa.Integer(default=0))) diff --git a/frontend/coprs_frontend/alembic/schema/versions/498884ac47db_add_timezone_field.py b/frontend/coprs_frontend/alembic/schema/versions/498884ac47db_add_timezone_field.py new file mode 100644 index 0000000..add80d4 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/498884ac47db_add_timezone_field.py @@ -0,0 +1,24 @@ +"""add timezone field + +Revision ID: 498884ac47db +Revises: 4837ad1d96ea +Create Date: 2014-01-23 12:15:04.450292 + +""" + +# revision identifiers, used by Alembic. +revision = '498884ac47db' +down_revision = '4837ad1d96ea' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Add 'data' colum to action table. """ + op.add_column('user', sa.Column('timezone', sa.String(length=50), nullable=True)) + + +def downgrade(): + """ Drop 'data' colum from action table. """ + op.drop_column('user', 'timezone') diff --git a/frontend/coprs_frontend/alembic/schema/versions/4af9d157c4ea_add_unique_constraint_for_mock_chroots.py b/frontend/coprs_frontend/alembic/schema/versions/4af9d157c4ea_add_unique_constraint_for_mock_chroots.py new file mode 100644 index 0000000..fb57e34 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/4af9d157c4ea_add_unique_constraint_for_mock_chroots.py @@ -0,0 +1,20 @@ +"""add unique constraint for mock chroots + +Revision ID: 4af9d157c4ea +Revises: 3b67c52f5277 +Create Date: 2017-01-20 16:44:30.473253 + +""" + +# revision identifiers, used by Alembic. +revision = '4af9d157c4ea' +down_revision = '3b67c52f5277' + +from alembic import op +import sqlalchemy as sa + +def upgrade(): + op.create_unique_constraint('mock_chroot_uniq', 'mock_chroot', ['os_release', 'os_version', 'arch']) + +def downgrade(): + op.drop_constraint('mock_chroot_uniq', 'mock_chroot', type_='unique') diff --git a/frontend/coprs_frontend/alembic/schema/versions/4b57794e2b5_fix_stored_procudure_status_order_bug.py b/frontend/coprs_frontend/alembic/schema/versions/4b57794e2b5_fix_stored_procudure_status_order_bug.py new file mode 100644 index 0000000..8c145d6 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/4b57794e2b5_fix_stored_procudure_status_order_bug.py @@ -0,0 +1,78 @@ +"""fix stored procudure (status order) bug + +Revision ID: 4b57794e2b5 +Revises: 19ca0c14096e +Create Date: 2015-11-20 11:57:25.079854 + +""" + +# revision identifiers, used by Alembic. +revision = '4b57794e2b5' +down_revision = '19ca0c14096e' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + query_functions = """ +CREATE OR REPLACE FUNCTION status_to_order (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 0 THEN 0 + WHEN x = 3 THEN 1 + WHEN x = 6 THEN 2 + WHEN x = 7 THEN 3 + WHEN x = 4 THEN 4 + WHEN x = 1 THEN 5 + WHEN x = 5 THEN 6 + WHEN x = 2 THEN 7 + ELSE x + END; END; + $$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION order_to_status (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 0 THEN 0 + WHEN x = 1 THEN 3 + WHEN x = 2 THEN 6 + WHEN x = 3 THEN 7 + WHEN x = 4 THEN 4 + WHEN x = 5 THEN 1 + WHEN x = 6 THEN 5 + WHEN x = 7 THEN 2 + ELSE x + END; END; + $$ LANGUAGE plpgsql; +""" + op.execute(sa.text(query_functions)) + + +def downgrade(): + query_functions = """ +CREATE OR REPLACE FUNCTION status_to_order (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 0 THEN 0 + WHEN x = 3 THEN 1 + WHEN x = 6 THEN 2 + WHEN x = 7 THEN 3 + WHEN x = 4 THEN 4 + WHEN x = 1 THEN 5 + WHEN x = 5 THEN 6 + ELSE 1000 + END; END; + $$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION order_to_status (x integer) +RETURNS integer AS $$ BEGIN + RETURN CASE WHEN x = 0 THEN 0 + WHEN x = 1 THEN 3 + WHEN x = 2 THEN 6 + WHEN x = 3 THEN 7 + WHEN x = 4 THEN 4 + WHEN x = 5 THEN 1 + WHEN x = 6 THEN 5 + ELSE 1000 + END; END; + $$ LANGUAGE plpgsql; +""" + op.execute(sa.text(query_functions)) diff --git a/frontend/coprs_frontend/alembic/schema/versions/4c6d0a2db343_change_module_version_to_bigint.py b/frontend/coprs_frontend/alembic/schema/versions/4c6d0a2db343_change_module_version_to_bigint.py new file mode 100644 index 0000000..388cfd7 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/4c6d0a2db343_change_module_version_to_bigint.py @@ -0,0 +1,22 @@ +"""change module version to bigint + +Revision ID: 4c6d0a2db343 +Revises: 3fdedd58ac73 +Create Date: 2016-11-23 04:43:29.207158 + +""" + +# revision identifiers, used by Alembic. +revision = '4c6d0a2db343' +down_revision = '3fdedd58ac73' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.alter_column('module', 'version', existing_type=sa.Integer(), type_=sa.BigInteger()) + + +def downgrade(): + op.alter_column('module', 'version', existing_type=sa.BigInteger(), type_=sa.Integer()) diff --git a/frontend/coprs_frontend/alembic/schema/versions/4f6b48ec62ab_add_contact_and_homepage_columns.py b/frontend/coprs_frontend/alembic/schema/versions/4f6b48ec62ab_add_contact_and_homepage_columns.py new file mode 100644 index 0000000..c03886a --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/4f6b48ec62ab_add_contact_and_homepage_columns.py @@ -0,0 +1,24 @@ +"""add contact and homepage columns + +Revision ID: 4f6b48ec62ab +Revises: 57be43049e9b +Create Date: 2015-07-13 14:54:26.713819 + +""" + +# revision identifiers, used by Alembic. +revision = '4f6b48ec62ab' +down_revision = '57be43049e9b' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column(u'copr', sa.Column('contact', sa.Text, nullable=True)) + op.add_column(u'copr', sa.Column('homepage', sa.Text, nullable=True)) + + +def downgrade(): + op.drop_column(u'copr', 'contact') + op.drop_column(u'copr', 'homepage') diff --git a/frontend/coprs_frontend/alembic/schema/versions/5055336e8c44_build_packages_and_s.py b/frontend/coprs_frontend/alembic/schema/versions/5055336e8c44_build_packages_and_s.py new file mode 100644 index 0000000..da50276 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/5055336e8c44_build_packages_and_s.py @@ -0,0 +1,28 @@ +"""build packages and subpackages + +Revision ID: 5055336e8c44 +Revises: 20140423001 +Create Date: 2014-07-15 10:12:21.875119 + +""" + +# revision identifiers, used by Alembic. +revision = '5055336e8c44' +down_revision = '20140423001' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('build', sa.Column('pkg_version', sa.Text(), nullable=True)) + op.add_column('build', sa.Column('built_packages', sa.Text(), nullable=True)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('build', 'built_packages') + op.drop_column('build', 'pkg_version') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/52e53e7b413e_add_build_chroot.py b/frontend/coprs_frontend/alembic/schema/versions/52e53e7b413e_add_build_chroot.py new file mode 100644 index 0000000..3d8e444 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/52e53e7b413e_add_build_chroot.py @@ -0,0 +1,75 @@ +""" Add BuildChroot table + +Revision ID: 52e53e7b413e +Revises: 246fd2dbf398 +Create Date: 2013-11-14 09:00:43.787717 + +""" + +# revision identifiers, used by Alembic. +revision = "52e53e7b413e" +down_revision = "246fd2dbf398" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table("build_chroot", + sa.Column("mock_chroot_id", sa.Integer(), nullable=False), + sa.Column("build_id", sa.Integer(), nullable=False), + sa.Column("status", sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(["build_id"], ["build.id"], ), + sa.ForeignKeyConstraint( + ["mock_chroot_id"], ["mock_chroot.id"], ), + sa.PrimaryKeyConstraint("mock_chroot_id", "build_id") + ) + + # transfer data from build table to build_chroot + metadata = sa.MetaData() + # just what we need of copr table + build_table = sa.Table("build", metadata, + sa.Column("chroots", sa.Text()), + sa.Column("status", sa.Integer()), + sa.Column("id", sa.Integer()), + ) + + mc_table = sa.Table("mock_chroot", metadata, + sa.Column("id", sa.Integer(), nullable=False), + sa.Column( + "os_release", sa.String(length=50), nullable=False), + sa.Column( + "os_version", sa.String(length=50), nullable=False), + sa.Column( + "arch", sa.String(length=50), nullable=False), + sa.Column("is_active", sa.Boolean(), nullable=False), + ) + bc_table = sa.Table("build_chroot", metadata, + sa.Column( + "mock_chroot_id", sa.Integer(), nullable=False), + sa.Column("build_id", sa.Integer(), nullable=False), + sa.Column("status", sa.Integer(), nullable=True), + ) + for row in op.get_bind().execute(sa.select([build_table.c.id, build_table.c.chroots, build_table.c.status])): + for c in row[1].split(" "): + chroot_array = c.split("-") + for row2 in (op.get_bind().execute(sa.select([mc_table.c.id], sa.and_( + mc_table.c.os_release == op.inline_literal(chroot_array[0]), + mc_table.c.os_version == op.inline_literal(chroot_array[1]), + mc_table.c.arch == op.inline_literal(chroot_array[2]), + )))): # should be just one row + op.bulk_insert( + bc_table, [{"mock_chroot_id": row2[0], "build_id": row[0], "status": row[2]}]) + + # drop old columns + op.drop_column(u"build", u"status") + op.drop_column(u"build", u"chroots") + + +def downgrade(): + print("Why are you downgrading? You will just lost some data.") + op.add_column(u"build", sa.Column(u"chroots", sa.TEXT(), nullable=False)) + op.add_column(u"build", sa.Column(u"status", sa.INTEGER(), nullable=True)) + op.drop_table("build_chroot") + print("Data about chroots for builds are gone!") diff --git a/frontend/coprs_frontend/alembic/schema/versions/544873aa3ba1_add_action.py b/frontend/coprs_frontend/alembic/schema/versions/544873aa3ba1_add_action.py new file mode 100644 index 0000000..dcacc6a --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/544873aa3ba1_add_action.py @@ -0,0 +1,40 @@ +"""empty message + +Revision ID: 544873aa3ba1 +Revises: 1ee4b45f5476 +Create Date: 2013-02-20 13:20:34.778470 + +""" + +# revision identifiers, used by Alembic. +revision = "544873aa3ba1" +down_revision = "1ee4b45f5476" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table("action", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("action_type", sa.Integer(), nullable=False), + sa.Column( + "object_type", sa.String(length=20), nullable=True), + sa.Column("object_id", sa.Integer(), nullable=True), + sa.Column( + "old_value", sa.String(length=255), nullable=True), + sa.Column( + "new_value", sa.String(length=255), nullable=True), + sa.Column("backend_result", sa.Integer(), nullable=True), + sa.Column("backend_message", sa.Text(), nullable=True), + sa.Column("created_on", sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint("id") + ) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_table("action") + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/552455e5910e_new_table_packages.py b/frontend/coprs_frontend/alembic/schema/versions/552455e5910e_new_table_packages.py new file mode 100644 index 0000000..a5f6a99 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/552455e5910e_new_table_packages.py @@ -0,0 +1,105 @@ +"""new table Packages + +Revision ID: 552455e5910e +Revises: 450fe5f7942d +Create Date: 2015-07-07 12:19:28.536592 + +""" + +# revision identifiers, used by Alembic. +revision = '552455e5910e' +down_revision = '450fe5f7942d' + +from alembic import op +import sqlalchemy as sa +from sqlalchemy import and_ +from rpmUtils.miscutils import splitFilename +import os +import json + +def parse_package_name(pkg): + if pkg.count(".") >= 3 and pkg.count("-") >= 2: + return splitFilename(pkg)[0] + # doesn"t seem like valid pkg string, try to guess package name + result = "" + pkg = pkg.replace(".rpm", "").replace(".src", "") + for delim in ["-", "."]: + if delim in pkg: + parts = pkg.split(delim) + for part in parts: + if any(map(lambda x: x.isdigit(), part)): + return result[:-1] + result += part + "-" + return result[:-1] + return pkg + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table('package', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('name', sa.String(length=100), nullable=False), + sa.Column('source_type', sa.Integer(), nullable=True), + sa.Column('source_json', sa.Text(), nullable=True), + sa.Column('copr_id', sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(['copr_id'], ['copr.id'], ), + sa.PrimaryKeyConstraint('id') + ) + op.add_column(u'build', sa.Column('package_id', sa.Integer(), nullable=True)) + op.add_column(u'build', sa.Column('source_json', sa.Text(), nullable=True)) + op.add_column(u'build', sa.Column('source_type', sa.Integer(), nullable=True)) + op.add_column(u'build_chroot', sa.Column('git_hash', sa.String(length=40), nullable=True)) + + op.create_index('package_copr_id_name', 'package', ['copr_id', 'name']) + op.create_index('build_copr_id_package_id', 'build', ['copr_id', 'package_id']) + ### end Alembic commands ### + + bind = op.get_bind() + connection = bind.connect() + + package_table = sa.Table( + "package", + sa.MetaData(), + sa.Column("id", sa.Integer, nullable=False), + sa.Column("name", sa.String(100), nullable=False), + sa.Column("copr_id", sa.Integer, nullable=False), + sa.Column("source_type", sa.Integer, default=0), + sa.Column("source_json", sa.Text), + ) + + build_table = sa.Table( + "build", + sa.MetaData(), + sa.Column("id", sa.Integer, nullable=False), + sa.Column("pkgs", sa.Text), + sa.Column("copr_id", sa.Integer), + sa.Column("package_id", sa.Integer), + sa.Column("source_type", sa.Integer, default=0), + sa.Column("source_json", sa.Text), + ) + + for build in connection.execute(build_table.select()): + pkg_name = parse_package_name(os.path.basename(build.pkgs)) + package = connection.execute(package_table.select().where(and_( + package_table.c.name == pkg_name, package_table.c.copr_id == build.copr_id))).first() + if not package: + connection.execute(package_table.insert().values( + name = pkg_name, + copr_id = build.copr_id, + source_type = 0, # no default source + source_json = json.dumps({}))) + package = connection.execute(package_table.select().where(and_( + package_table.c.name == pkg_name, package_table.c.copr_id == build.copr_id))).first() + connection.execute(build_table.update().where(build_table.c.id == build.id).values( + package_id = package.id, + source_type = 1, # srpm url + source_json = json.dumps({"url": build.pkgs}))) + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column(u'build_chroot', 'git_hash') + op.drop_column(u'build', 'source_type') + op.drop_column(u'build', 'source_json') + op.drop_column(u'build', 'package_id') + op.drop_table('package') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/573044986ee9_.py b/frontend/coprs_frontend/alembic/schema/versions/573044986ee9_.py new file mode 100644 index 0000000..fc1f08b --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/573044986ee9_.py @@ -0,0 +1,30 @@ +"""empty message + +Revision ID: 573044986ee9 +Revises: 4b57794e2b5 +Create Date: 2015-11-26 12:36:59.729053 + +""" + +# revision identifiers, used by Alembic. +revision = '573044986ee9' +down_revision = '4b57794e2b5' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('copr', sa.Column('webhook_secret', sa.String(length=100), nullable=True)) + op.add_column('package', sa.Column('enable_net', sa.Boolean(), server_default='0', nullable=False)) + op.add_column('package', sa.Column('webhook_rebuild', sa.Boolean(), nullable=True)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('package', 'webhook_rebuild') + op.drop_column('package', 'enable_net') + op.drop_column('copr', 'webhook_secret') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/57be43049e9b_added_columns_to_buildchroot.py b/frontend/coprs_frontend/alembic/schema/versions/57be43049e9b_added_columns_to_buildchroot.py new file mode 100644 index 0000000..782612a --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/57be43049e9b_added_columns_to_buildchroot.py @@ -0,0 +1,57 @@ +"""added columns to BuildChroot + +Revision ID: 57be43049e9b +Revises: 552455e5910e +Create Date: 2015-07-09 12:30:57.326992 + +""" + +# revision identifiers, used by Alembic. +revision = '57be43049e9b' +down_revision = '552455e5910e' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column(u'build_chroot', sa.Column('ended_on', sa.Integer(), nullable=True)) + op.add_column(u'build_chroot', sa.Column('started_on', sa.Integer(), nullable=True)) + + bind = op.get_bind() + connection = bind.connect() + + m_build_table = sa.Table( + u"build", + sa.MetaData(), + sa.Column("id", sa.Integer, nullable=False), + sa.Column('ended_on', sa.Integer(), nullable=True), + sa.Column('started_on', sa.Integer(), nullable=True), + ) + m_build_chroot_table = sa.Table( + u"build_chroot", + sa.MetaData(), + sa.Column("mock_chroot_id", sa.Integer, nullable=False), + sa.Column("build_id", sa.Integer), + sa.Column('ended_on', sa.Integer(), nullable=True), + sa.Column('started_on', sa.Integer(), nullable=True) + ) + + counter = 0 + for build in connection.execute(m_build_table.select()): + connection.execute( + m_build_chroot_table.update() + .where(m_build_chroot_table.c.build_id == build.id) + .values( + started_on=build.started_on, + ended_on=build.ended_on, + ) + ) + counter += 1 + if counter % 1000 == 0: + print("Processed: {} builds".format(counter)) + + +def downgrade(): + op.drop_column(u'build_chroot', 'started_on') + op.drop_column(u'build_chroot', 'ended_on') diff --git a/frontend/coprs_frontend/alembic/schema/versions/5845661bb37d_foo.py b/frontend/coprs_frontend/alembic/schema/versions/5845661bb37d_foo.py new file mode 100644 index 0000000..f37869f --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/5845661bb37d_foo.py @@ -0,0 +1,26 @@ +"""add playgroung column + +Revision ID: 5845661bb37d +Revises: 498884ac47db +Create Date: 2014-04-04 11:25:36.216132 + +""" + +# revision identifiers, used by Alembic. +revision = '5845661bb37d' +down_revision = '498884ac47db' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('copr', sa.Column('playground', sa.Boolean(), nullable=True)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('copr', 'playground') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/595a31c145fb_initial_db_setup.py b/frontend/coprs_frontend/alembic/schema/versions/595a31c145fb_initial_db_setup.py new file mode 100644 index 0000000..857e14c --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/595a31c145fb_initial_db_setup.py @@ -0,0 +1,77 @@ +"""Initial DB setup + +Revision ID: 595a31c145fb +Revises: None +Create Date: 2012-11-26 09:39:51.229910 + +""" + +# revision identifiers, used by Alembic. +revision = "595a31c145fb" +down_revision = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table("user", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column( + "openid_name", sa.String(length=100), nullable=False), + sa.Column("mail", sa.String(length=150), nullable=False), + sa.Column("proven", sa.Boolean(), nullable=True), + sa.Column("admin", sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint("id") + ) + op.create_table("copr", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("name", sa.String(length=100), nullable=False), + sa.Column("chroots", sa.Text(), nullable=False), + sa.Column("repos", sa.Text(), nullable=True), + sa.Column("created_on", sa.Integer(), nullable=True), + sa.Column("build_count", sa.Integer(), nullable=True), + sa.Column("owner_id", sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(["owner_id"], ["user.id"], ), + sa.PrimaryKeyConstraint("id") + ) + op.create_table("build", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("pkgs", sa.Text(), nullable=True), + sa.Column("canceled", sa.Boolean(), nullable=True), + sa.Column("chroots", sa.Text(), nullable=False), + sa.Column("repos", sa.Text(), nullable=True), + sa.Column("submitted_on", sa.Integer(), nullable=False), + sa.Column("started_on", sa.Integer(), nullable=True), + sa.Column("ended_on", sa.Integer(), nullable=True), + sa.Column("results", sa.Text(), nullable=True), + sa.Column("status", sa.Integer(), nullable=True), + sa.Column("memory_reqs", sa.Integer(), nullable=True), + sa.Column("timeout", sa.Integer(), nullable=True), + sa.Column("user_id", sa.Integer(), nullable=True), + sa.Column("copr_id", sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(["copr_id"], ["copr.id"], ), + sa.ForeignKeyConstraint(["user_id"], ["user.id"], ), + sa.PrimaryKeyConstraint("id") + ) + op.create_table("copr_permission", + sa.Column( + "copr_builder", sa.SmallInteger(), nullable=True), + sa.Column("copr_admin", sa.SmallInteger(), nullable=True), + sa.Column("user_id", sa.Integer(), nullable=False), + sa.Column("copr_id", sa.Integer(), nullable=False), + sa.ForeignKeyConstraint(["copr_id"], ["copr.id"], ), + sa.ForeignKeyConstraint(["user_id"], ["user.id"], ), + sa.PrimaryKeyConstraint("user_id", "copr_id") + ) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_table("copr_permission") + op.drop_table("build") + op.drop_table("copr") + op.drop_table("user") + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/8de41eec1d1_enabling_fedora_25_chroots.py b/frontend/coprs_frontend/alembic/schema/versions/8de41eec1d1_enabling_fedora_25_chroots.py new file mode 100644 index 0000000..bb730cc --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/8de41eec1d1_enabling_fedora_25_chroots.py @@ -0,0 +1,24 @@ +"""enabling fedora-25 chroots + +Revision ID: 8de41eec1d1 +Revises: 94975badc43 +Create Date: 2016-09-07 15:41:35.130578 + +""" + +# revision identifiers, used by Alembic. +revision = '8de41eec1d1' +down_revision = '94975badc43' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Moved to coprs_frontend/alembic/fedora/versions """ + pass + + +def downgrade(): + """ Moved to coprs_frontend/alembic/fedora/versions """ + pass diff --git a/frontend/coprs_frontend/alembic/schema/versions/94975badc43_fedora_22_chroots_deactivated.py b/frontend/coprs_frontend/alembic/schema/versions/94975badc43_fedora_22_chroots_deactivated.py new file mode 100644 index 0000000..5c1bb7b --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/94975badc43_fedora_22_chroots_deactivated.py @@ -0,0 +1,24 @@ +"""fedora-22 chroots deactivated + +Revision ID: 94975badc43 +Revises: 1ae2302aa2e6 +Create Date: 2016-09-07 15:00:43.217280 + +""" + +# revision identifiers, used by Alembic. +revision = '94975badc43' +down_revision = '1ae2302aa2e6' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Moved to coprs_frontend/alembic/fedora/versions """ + pass + + +def downgrade(): + """ Moved to coprs_frontend/alembic/fedora/versions """ + pass diff --git a/frontend/coprs_frontend/alembic/schema/versions/bd0a15c7b6f_dont_require_fed_openid.py b/frontend/coprs_frontend/alembic/schema/versions/bd0a15c7b6f_dont_require_fed_openid.py new file mode 100644 index 0000000..d6e121f --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/bd0a15c7b6f_dont_require_fed_openid.py @@ -0,0 +1,66 @@ +"""Do not require Fedora's OpenID in DB schema + +Revision ID: bd0a15c7b6f +Revises: 5055336e8c44 +Create Date: 2014-08-20 21:49:05.299819 + +""" + +# revision identifiers, used by Alembic. +revision = 'bd0a15c7b6f' +down_revision = '5055336e8c44' + +from alembic import op +import sqlalchemy as sa +import logging + +logger = logging.getLogger('alembic') + +metadata = sa.MetaData() + +def username_default(oid_user): + return oid_user.replace(".id.fedoraproject.org/", "") \ + .replace("http://", "") + +def upgrade(): + op.add_column(u'user', sa.Column('username', sa.String(length=100))) + + sa_user = sa.Table("user", metadata, + sa.Column("id", sa.Integer), + sa.Column("openid_name", sa.String(length=100)), + sa.Column("username", sa.String(length=100)) + ) + + for u in op.get_bind().execute(sa.select([sa_user.c.id, sa_user.c.openid_name])): + username = username_default(u[1]) + logger.info("converting {0}'s account".format(username)) + op.get_bind().execute(sa_user.update() \ + .where(sa_user.c.id==u[0]) \ + .values(username=username)) + + if op.get_bind().dialect.name != 'sqlite': + # Pretty sad we can not set this non-nullable in SQLite + op.alter_column("user", "username", nullable=False) + # We can live with redundant openid_name column.. + op.drop_column(u'user', u'openid_name') + + +def downgrade(): + op.add_column(u'user', sa.Column(u'openid_name', sa.VARCHAR(length=100), nullable=True)) + + sa_user = sa.Table("user", metadata, + sa.Column("id", sa.Integer), + sa.Column("openid_name", sa.String(length=100)), + sa.Column("username", sa.String(length=100)) + ) + + for u in op.get_bind().execute(sa.select([sa_user.c.id, sa_user.c.username])): + openid_name = "http://{0}.id.fedoraproject.org/".format(str(u[1])) + op.get_bind().execute(sa_user.update() \ + .where(sa_user.c.id==u[0]) \ + .values(openid_name=openid_name) + ) + + if op.get_bind().dialect.name != 'sqlite': + op.drop_column(u'user', 'username') + op.alter_column("user", "openid_name", nullable=False) diff --git a/frontend/coprs_frontend/alembic/schema/versions/bd0dab2e478_added_column_copr_build_enable_net.py b/frontend/coprs_frontend/alembic/schema/versions/bd0dab2e478_added_column_copr_build_enable_net.py new file mode 100644 index 0000000..c1fd653 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/bd0dab2e478_added_column_copr_build_enable_net.py @@ -0,0 +1,26 @@ +"""added column Copr.build_enable_net + +Revision ID: bd0dab2e478 +Revises: 2df28d2d072f +Create Date: 2015-01-05 11:47:15.291386 + +""" + +# revision identifiers, used by Alembic. +revision = 'bd0dab2e478' +down_revision = '2df28d2d072f' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column('copr', sa.Column('build_enable_net', sa.Boolean(), server_default='1', nullable=False)) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_column('copr', 'build_enable_net') + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/schema/versions/d062c3d9c00_backend_result_to_result.py b/frontend/coprs_frontend/alembic/schema/versions/d062c3d9c00_backend_result_to_result.py new file mode 100644 index 0000000..f335648 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/d062c3d9c00_backend_result_to_result.py @@ -0,0 +1,29 @@ +"""backend_result_to_result + +Revision ID: d062c3d9c00 +Revises: 451e9507b866 +Create Date: 2013-04-03 10:10:35.990681 + +""" + +# revision identifiers, used by Alembic. +revision = "d062c3d9c00" +down_revision = "451e9507b866" + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column("action", sa.Column("result", sa.Integer(), nullable=True)) + op.drop_column("action", u"backend_result") + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.add_column( + "action", sa.Column(u"backend_result", sa.INTEGER(), nullable=True)) + op.drop_column("action", "result") + ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/script.py.mako b/frontend/coprs_frontend/alembic/script.py.mako deleted file mode 100644 index 9570201..0000000 --- a/frontend/coprs_frontend/alembic/script.py.mako +++ /dev/null @@ -1,22 +0,0 @@ -"""${message} - -Revision ID: ${up_revision} -Revises: ${down_revision} -Create Date: ${create_date} - -""" - -# revision identifiers, used by Alembic. -revision = ${repr(up_revision)} -down_revision = ${repr(down_revision)} - -from alembic import op -import sqlalchemy as sa -${imports if imports else ""} - -def upgrade(): - ${upgrades if upgrades else "pass"} - - -def downgrade(): - ${downgrades if downgrades else "pass"} diff --git a/frontend/coprs_frontend/alembic/versions/13af46c70227_remove_build_ended_on_build_started_on_.py b/frontend/coprs_frontend/alembic/versions/13af46c70227_remove_build_ended_on_build_started_on_.py deleted file mode 100644 index 1687429..0000000 --- a/frontend/coprs_frontend/alembic/versions/13af46c70227_remove_build_ended_on_build_started_on_.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Remove build.ended_on, build.started_on columns - -Revision ID: 13af46c70227 -Revises: 22c5f7a954ce -Create Date: 2016-03-04 09:14:03.088234 - -""" - -# revision identifiers, used by Alembic. -revision = '13af46c70227' -down_revision = '22c5f7a954ce' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.drop_column('build', 'ended_on') - op.drop_column('build', 'started_on') - op.create_index('build_canceled', 'build', ['canceled'], unique=False) - - -def downgrade(): - op.drop_index('build_canceled', table_name='build') - op.add_column('build', sa.Column('started_on', sa.INTEGER(), autoincrement=False, nullable=True)) - op.add_column('build', sa.Column('ended_on', sa.INTEGER(), autoincrement=False, nullable=True)) - op.create_index('build_ended_on_canceled_started_on', 'build', ['ended_on', 'canceled', 'started_on'], unique=False) diff --git a/frontend/coprs_frontend/alembic/versions/149da7c4ac2f_bz1361641.py b/frontend/coprs_frontend/alembic/versions/149da7c4ac2f_bz1361641.py deleted file mode 100644 index 6ccdf3a..0000000 --- a/frontend/coprs_frontend/alembic/versions/149da7c4ac2f_bz1361641.py +++ /dev/null @@ -1,80 +0,0 @@ -"""Bug 1361641 - Status in build table shows wrong values - -Revision ID: 149da7c4ac2f -Revises: 3a9905ed8ffd -Create Date: 2016-09-30 07:32:51.553858 - -""" - -# revision identifiers, used by Alembic. -revision = '149da7c4ac2f' -down_revision = '3a9905ed8ffd' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - query_functions = """ -CREATE OR REPLACE FUNCTION status_to_order (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 3 THEN 1 - WHEN x = 6 THEN 2 - WHEN x = 7 THEN 3 - WHEN x = 4 THEN 4 - WHEN x = 0 THEN 5 - WHEN x = 1 THEN 6 - WHEN x = 5 THEN 7 - WHEN x = 2 THEN 8 - ELSE x - END; END; - $$ LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION order_to_status (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 1 THEN 3 - WHEN x = 2 THEN 6 - WHEN x = 3 THEN 7 - WHEN x = 4 THEN 4 - WHEN x = 5 THEN 0 - WHEN x = 6 THEN 1 - WHEN x = 7 THEN 5 - WHEN x = 8 THEN 2 - ELSE x - END; END; - $$ LANGUAGE plpgsql; -""" - op.execute(sa.text(query_functions)) - - -def downgrade(): - query_functions = """ -CREATE OR REPLACE FUNCTION status_to_order (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 0 THEN 0 - WHEN x = 3 THEN 1 - WHEN x = 6 THEN 2 - WHEN x = 7 THEN 3 - WHEN x = 4 THEN 4 - WHEN x = 1 THEN 5 - WHEN x = 5 THEN 6 - WHEN x = 2 THEN 7 - ELSE x - END; END; - $$ LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION order_to_status (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 0 THEN 0 - WHEN x = 1 THEN 3 - WHEN x = 2 THEN 6 - WHEN x = 3 THEN 7 - WHEN x = 4 THEN 4 - WHEN x = 5 THEN 1 - WHEN x = 6 THEN 5 - WHEN x = 7 THEN 2 - ELSE x - END; END; - $$ LANGUAGE plpgsql; -""" - op.execute(sa.text(query_functions)) diff --git a/frontend/coprs_frontend/alembic/versions/15852f9e313f_add_forked_status_for_build_chroot.py b/frontend/coprs_frontend/alembic/versions/15852f9e313f_add_forked_status_for_build_chroot.py deleted file mode 100644 index fda05af..0000000 --- a/frontend/coprs_frontend/alembic/versions/15852f9e313f_add_forked_status_for_build_chroot.py +++ /dev/null @@ -1,82 +0,0 @@ -"""add forked status for build_chroot - -Revision ID: 15852f9e313f -Revises: 419a626c25e6 -Create Date: 2016-10-06 09:07:06.487213 - -""" - -# revision identifiers, used by Alembic. -revision = '15852f9e313f' -down_revision = '419a626c25e6' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - query_functions = """ -CREATE OR REPLACE FUNCTION status_to_order (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 3 THEN 1 - WHEN x = 6 THEN 2 - WHEN x = 7 THEN 3 - WHEN x = 4 THEN 4 - WHEN x = 0 THEN 5 - WHEN x = 1 THEN 6 - WHEN x = 5 THEN 7 - WHEN x = 2 THEN 8 - WHEN x = 8 THEN 9 - ELSE x - END; END; - $$ LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION order_to_status (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 1 THEN 3 - WHEN x = 2 THEN 6 - WHEN x = 3 THEN 7 - WHEN x = 4 THEN 4 - WHEN x = 5 THEN 0 - WHEN x = 6 THEN 1 - WHEN x = 7 THEN 5 - WHEN x = 8 THEN 2 - WHEN x = 9 THEN 8 - ELSE x - END; END; - $$ LANGUAGE plpgsql; -""" - op.execute(sa.text(query_functions)) - - -def downgrade(): - query_functions = """ -CREATE OR REPLACE FUNCTION status_to_order (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 3 THEN 1 - WHEN x = 6 THEN 2 - WHEN x = 7 THEN 3 - WHEN x = 4 THEN 4 - WHEN x = 0 THEN 5 - WHEN x = 1 THEN 6 - WHEN x = 5 THEN 7 - WHEN x = 2 THEN 8 - ELSE x - END; END; - $$ LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION order_to_status (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 1 THEN 3 - WHEN x = 2 THEN 6 - WHEN x = 3 THEN 7 - WHEN x = 4 THEN 4 - WHEN x = 5 THEN 0 - WHEN x = 6 THEN 1 - WHEN x = 7 THEN 5 - WHEN x = 8 THEN 2 - ELSE x - END; END; - $$ LANGUAGE plpgsql; -""" - op.execute(sa.text(query_functions)) diff --git a/frontend/coprs_frontend/alembic/versions/19ca0c14096e_status_to_order_function.py b/frontend/coprs_frontend/alembic/versions/19ca0c14096e_status_to_order_function.py deleted file mode 100644 index ace2626..0000000 --- a/frontend/coprs_frontend/alembic/versions/19ca0c14096e_status_to_order_function.py +++ /dev/null @@ -1,27 +0,0 @@ -"""status_to_order function - -Revision ID: 19ca0c14096e -Revises: 3ec22e1db75a -Create Date: 2015-11-16 21:20:46.498155 - -""" - -# revision identifiers, used by Alembic. -revision = '19ca0c14096e' -down_revision = '3ec22e1db75a' - -from alembic import op -import sqlalchemy as sa - -from coprs.logic.builds_logic import BuildsLogic - -def upgrade(): - BuildsLogic.init_db() - - -def downgrade(): - query = """DROP FUNCTION status_to_order (x integer); - DROP FUNCTION order_to_status (x integer); - """ - if op.get_bind().dialect.name == "postgresql": - op.execute(sa.text(query)) diff --git a/frontend/coprs_frontend/alembic/versions/1ae2302aa2e6_persistent_attribute_added_for_copr_model.py b/frontend/coprs_frontend/alembic/versions/1ae2302aa2e6_persistent_attribute_added_for_copr_model.py deleted file mode 100644 index 0944caa..0000000 --- a/frontend/coprs_frontend/alembic/versions/1ae2302aa2e6_persistent_attribute_added_for_copr_model.py +++ /dev/null @@ -1,26 +0,0 @@ -"""persistent attribute added for copr model - -Revision ID: 1ae2302aa2e6 -Revises: 4567fd34cfb6 -Create Date: 2016-08-08 13:02:26.699654 - -""" - -# revision identifiers, used by Alembic. -revision = '1ae2302aa2e6' -down_revision = '4567fd34cfb6' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('copr', sa.Column('persistent', sa.Boolean(), server_default='0', nullable=False)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('copr', 'persistent') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/1c61e5b88e45_added_unlisted_on_hp_attribute_for_copr.py b/frontend/coprs_frontend/alembic/versions/1c61e5b88e45_added_unlisted_on_hp_attribute_for_copr.py deleted file mode 100644 index 12b058c..0000000 --- a/frontend/coprs_frontend/alembic/versions/1c61e5b88e45_added_unlisted_on_hp_attribute_for_copr.py +++ /dev/null @@ -1,26 +0,0 @@ -"""added unlisted_on_hp attribute for Copr - -Revision ID: 1c61e5b88e45 -Revises: 3b1ee8f6baaf -Create Date: 2016-06-16 08:30:46.559908 - -""" - -# revision identifiers, used by Alembic. -revision = '1c61e5b88e45' -down_revision = '3b1ee8f6baaf' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('copr', sa.Column('unlisted_on_hp', sa.Boolean(), nullable=False, server_default='f')) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('copr', 'unlisted_on_hp') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/1d5b5b1b27f9_copr_added_attribute_auto_createrepo.py b/frontend/coprs_frontend/alembic/versions/1d5b5b1b27f9_copr_added_attribute_auto_createrepo.py deleted file mode 100644 index 5e7bdea..0000000 --- a/frontend/coprs_frontend/alembic/versions/1d5b5b1b27f9_copr_added_attribute_auto_createrepo.py +++ /dev/null @@ -1,24 +0,0 @@ -"""Copr added attribute 'auto_createrepo' - -Revision ID: 1d5b5b1b27f9 -Revises: 2a4242380f24 -Create Date: 2014-10-21 14:32:45.062257 - -""" - -# revision identifiers, used by Alembic. -revision = '1d5b5b1b27f9' -down_revision = '2a4242380f24' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.add_column('copr', sa.Column('auto_createrepo', sa.Boolean(), - default=True, server_default="true", nullable=False)) - - -def downgrade(): - op.drop_column('copr', 'auto_createrepo') - diff --git a/frontend/coprs_frontend/alembic/versions/1ea00801be9e_latest_indexed_data_updated_column_.py b/frontend/coprs_frontend/alembic/versions/1ea00801be9e_latest_indexed_data_updated_column_.py deleted file mode 100644 index ebf1e54..0000000 --- a/frontend/coprs_frontend/alembic/versions/1ea00801be9e_latest_indexed_data_updated_column_.py +++ /dev/null @@ -1,21 +0,0 @@ -"""latest_indexed_data_updated column added for copr - -Revision ID: 1ea00801be9e -Revises: 1c61e5b88e45 -Create Date: 2016-07-19 15:45:05.524428 - -""" - -# revision identifiers, used by Alembic. -revision = '1ea00801be9e' -down_revision = '1c61e5b88e45' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.add_column('copr', sa.Column('latest_indexed_data_update', sa.Integer(), nullable=True)) - -def downgrade(): - op.drop_column('copr', 'latest_indexed_data_update') diff --git a/frontend/coprs_frontend/alembic/versions/1ee4b45f5476_remove_fulltext_in_favor_of_whoosh.py b/frontend/coprs_frontend/alembic/versions/1ee4b45f5476_remove_fulltext_in_favor_of_whoosh.py deleted file mode 100644 index 21c0efc..0000000 --- a/frontend/coprs_frontend/alembic/versions/1ee4b45f5476_remove_fulltext_in_favor_of_whoosh.py +++ /dev/null @@ -1,31 +0,0 @@ -"""empty message - -Revision ID: 1ee4b45f5476 -Revises: 3a035889852c -Create Date: 2013-02-14 14:11:50.624673 - -""" - -# revision identifiers, used by Alembic. -revision = "1ee4b45f5476" -down_revision = "3a035889852c" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column("copr", u"copr_ts_col") - if op.get_bind().dialect.name == "postgresql": - op.execute("DROP trigger IF EXISTS copr_ts_update ON copr") - elif op.get_bind().dialect.name == "sqlite": - op.execute("DROP trigger IF EXISTS copr_ts_update") - op.execute("DROP trigger IF EXISTS copr_ts_insert") - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column("copr", sa.Column(u"copr_ts_col", sa.TEXT(), nullable=True)) - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/1ff696f006f1_last_deferred_column_added_for_build_chroot.py b/frontend/coprs_frontend/alembic/versions/1ff696f006f1_last_deferred_column_added_for_build_chroot.py deleted file mode 100644 index f642ed1..0000000 --- a/frontend/coprs_frontend/alembic/versions/1ff696f006f1_last_deferred_column_added_for_build_chroot.py +++ /dev/null @@ -1,26 +0,0 @@ -"""last_deferred column added for BuildChroot - -Revision ID: 1ff696f006f1 -Revises: 1ea00801be9e -Create Date: 2016-06-28 21:04:27.036088 - -""" - -# revision identifiers, used by Alembic. -revision = '1ff696f006f1' -down_revision = '1ea00801be9e' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('build_chroot', sa.Column('last_deferred', sa.Integer(), nullable=True)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('build_chroot', 'last_deferred') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/20140423001_add_indexes.py b/frontend/coprs_frontend/alembic/versions/20140423001_add_indexes.py deleted file mode 100644 index d409771..0000000 --- a/frontend/coprs_frontend/alembic/versions/20140423001_add_indexes.py +++ /dev/null @@ -1,40 +0,0 @@ -"""add indexes - -Revision ID: 20140423001 -Revises: 5845661bb37d -Create Date: 2014-04-24 11:25:36.216132 - -""" - -# revision identifiers, used by Alembic. -revision = '20140423001' -down_revision = '5845661bb37d' - -from alembic import op - - -def upgrade(): - op.create_index('build_ended_on_canceled_started_on', 'build', ['ended_on', 'canceled', 'started_on']) - op.create_index('copr_owner_id', 'copr', ['owner_id']) - op.create_index('copr_deleted_name', 'copr', ['deleted', 'name']) - op.create_index('copr_chroot_copr_id', 'copr_chroot', ['copr_id']) - op.create_index('action_result_action_type', 'action', ['result', 'action_type']) - op.create_index('user_openid_name', 'user', ['openid_name']) - op.create_index('copr_permission_copr_id', 'copr_permission', ['copr_id']) - op.create_index('build_chroot_build_id', 'build_chroot', ['build_id']) - op.create_index('user_api_login', 'user', ['api_login']) - op.create_index('legal_flag_resolved_on', 'legal_flag', ['resolved_on']) - -def downgrade(): - op.drop_index('build_ended_on_canceled_started_on') - op.drop_index('copr_owner_id') - op.drop_index('copr_deleted_name') - op.drop_index('copr_chroot_copr_id') - op.drop_index('action_result_action_type') - op.drop_index('user_openid_name') - op.drop_index('copr_permission_copr_id') - op.drop_index('build_chroot_build_id') - op.drop_index('user_api_login') - op.drop_index('legal_flag_resolved_on') - - diff --git a/frontend/coprs_frontend/alembic/versions/22c5f7a954ce_add_forked_from_id_column.py b/frontend/coprs_frontend/alembic/versions/22c5f7a954ce_add_forked_from_id_column.py deleted file mode 100644 index c785300..0000000 --- a/frontend/coprs_frontend/alembic/versions/22c5f7a954ce_add_forked_from_id_column.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Add forked_from_id column - -Revision ID: 22c5f7a954ce -Revises: 2add9a2c36d9 -Create Date: 2016-02-29 13:52:59.175869 - -""" - -# revision identifiers, used by Alembic. -revision = '22c5f7a954ce' -down_revision = '2add9a2c36d9' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('copr', sa.Column('forked_from_id', sa.Integer(), nullable=True)) - op.create_foreign_key(None, 'copr', 'copr', ['forked_from_id'], ['id']) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('copr', 'forked_from_id') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/22fde92cb568_added_column_comps_name_to_coprchroot.py b/frontend/coprs_frontend/alembic/versions/22fde92cb568_added_column_comps_name_to_coprchroot.py deleted file mode 100644 index 3da33f9..0000000 --- a/frontend/coprs_frontend/alembic/versions/22fde92cb568_added_column_comps_name_to_coprchroot.py +++ /dev/null @@ -1,28 +0,0 @@ -"""added column comps_name to CoprChroot - -Revision ID: 22fde92cb568 -Revises: 4f6b48ec62ab -Create Date: 2015-08-18 12:28:49.816996 - -""" - -# revision identifiers, used by Alembic. -revision = '22fde92cb568' -down_revision = '4f6b48ec62ab' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('copr_chroot', sa.Column('comps_name', sa.String(length=127), nullable=True)) - op.add_column('copr_chroot', sa.Column('comps_zlib', sa.LargeBinary(), nullable=True)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('copr_chroot', 'comps_name') - op.drop_column('copr_chroot', 'comps_zlib') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/246fd2dbf398_add_legal_flag.py b/frontend/coprs_frontend/alembic/versions/246fd2dbf398_add_legal_flag.py deleted file mode 100644 index d8f4322..0000000 --- a/frontend/coprs_frontend/alembic/versions/246fd2dbf398_add_legal_flag.py +++ /dev/null @@ -1,36 +0,0 @@ -"""add_legal_flag - -Revision ID: 246fd2dbf398 -Revises: d062c3d9c00 -Create Date: 2013-04-03 10:39:54.837803 - -""" - -# revision identifiers, used by Alembic. -revision = "246fd2dbf398" -down_revision = "d062c3d9c00" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column( - "legal_flag", sa.Column("resolved_on", sa.Integer(), nullable=True)) - op.add_column( - "legal_flag", sa.Column("raised_on", sa.Integer(), nullable=True)) - op.drop_column("legal_flag", u"state") - op.drop_column("legal_flag", u"resolve_message") - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column("legal_flag", sa.Column( - u"resolve_message", sa.TEXT(), nullable=True)) - op.add_column( - "legal_flag", sa.Column(u"state", sa.INTEGER(), nullable=True)) - op.drop_column("legal_flag", "raised_on") - op.drop_column("legal_flag", "resolved_on") - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/294405dfc7c0_add_action_data_fiel.py b/frontend/coprs_frontend/alembic/versions/294405dfc7c0_add_action_data_fiel.py deleted file mode 100644 index afe396b..0000000 --- a/frontend/coprs_frontend/alembic/versions/294405dfc7c0_add_action_data_fiel.py +++ /dev/null @@ -1,24 +0,0 @@ -"""add Action.data field - -Revision ID: 294405dfc7c0 -Revises: 3a415c6392bc -Create Date: 2014-01-20 15:43:09.986912 - -""" - -# revision identifiers, used by Alembic. -revision = "294405dfc7c0" -down_revision = "3a415c6392bc" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - """ Add "data" colum to action table. """ - op.add_column("action", sa.Column("data", sa.Text())) - - -def downgrade(): - """ Drop "data" colum from action table. """ - op.drop_column("action", "data") diff --git a/frontend/coprs_frontend/alembic/versions/2a4242380f24_add_krb5_login_table.py b/frontend/coprs_frontend/alembic/versions/2a4242380f24_add_krb5_login_table.py deleted file mode 100644 index 08a7b0f..0000000 --- a/frontend/coprs_frontend/alembic/versions/2a4242380f24_add_krb5_login_table.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Add 'krb5_login' table - -Revision ID: 2a4242380f24 -Revises: bd0a15c7b6f -Create Date: 2014-08-21 11:40:19.181293 - -""" - -# revision identifiers, used by Alembic. -revision = '2a4242380f24' -down_revision = 'bd0a15c7b6f' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.create_table('krb5_login', - sa.Column('user_id', sa.Integer(), nullable=False), - sa.Column('config_name', sa.String(length=30), nullable=False), - sa.Column('primary', sa.String(length=80), nullable=False), - sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), - sa.PrimaryKeyConstraint('primary', 'config_name') - ) - -def downgrade(): - op.drop_table('krb5_login') diff --git a/frontend/coprs_frontend/alembic/versions/2a75f0a06d90_add_a_api_login_fiel.py b/frontend/coprs_frontend/alembic/versions/2a75f0a06d90_add_a_api_login_fiel.py deleted file mode 100644 index 980b707..0000000 --- a/frontend/coprs_frontend/alembic/versions/2a75f0a06d90_add_a_api_login_fiel.py +++ /dev/null @@ -1,26 +0,0 @@ -"""Add a api_login field to user - -Revision ID: 2a75f0a06d90 -Revises: 544873aa3ba1 -Create Date: 2013-03-10 10:01:16.820499 - -""" - -# revision identifiers, used by Alembic. -revision = "2a75f0a06d90" -down_revision = "544873aa3ba1" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - """ Add the colum "api_login" to the table user. """ - op.add_column("user", sa.Column("api_login", sa.String(40), - nullable=False, - server_default="default_token")) - - -def downgrade(): - """ Drop the column "api_login" from the table user. """ - op.drop_column("user", "api_login") diff --git a/frontend/coprs_frontend/alembic/versions/2add9a2c36d9_add_old_status_to_package.py b/frontend/coprs_frontend/alembic/versions/2add9a2c36d9_add_old_status_to_package.py deleted file mode 100644 index d75e04f..0000000 --- a/frontend/coprs_frontend/alembic/versions/2add9a2c36d9_add_old_status_to_package.py +++ /dev/null @@ -1,26 +0,0 @@ -"""Add old_status to Package - -Revision ID: 2add9a2c36d9 -Revises: 573044986ee9 -Create Date: 2016-02-24 02:51:35.808885 - -""" - -# revision identifiers, used by Alembic. -revision = '2add9a2c36d9' -down_revision = '573044986ee9' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('package', sa.Column('old_status', sa.Integer(), nullable=True)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('package', 'old_status') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/2df28d2d072f_added_column_build_enable_net.py b/frontend/coprs_frontend/alembic/versions/2df28d2d072f_added_column_build_enable_net.py deleted file mode 100644 index 8e19dff..0000000 --- a/frontend/coprs_frontend/alembic/versions/2df28d2d072f_added_column_build_enable_net.py +++ /dev/null @@ -1,27 +0,0 @@ -"""added column Build.enable_net - -Revision ID: 2df28d2d072f -Revises: 1d5b5b1b27f9 -Create Date: 2015-01-02 17:55:02.169421 - -""" - -# revision identifiers, used by Alembic. -revision = '2df28d2d072f' -down_revision = '1d5b5b1b27f9' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('build', sa.Column('enable_net', sa.Boolean(), server_default='0', nullable=False)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('build', 'enable_net') - ### end Alembic commands ### - diff --git a/frontend/coprs_frontend/alembic/versions/2e30169e58ce_change_api_token_len.py b/frontend/coprs_frontend/alembic/versions/2e30169e58ce_change_api_token_len.py deleted file mode 100644 index 2e8c9bf..0000000 --- a/frontend/coprs_frontend/alembic/versions/2e30169e58ce_change_api_token_len.py +++ /dev/null @@ -1,30 +0,0 @@ -"""Change api_token length from varchar(40) to varchar(255) - -Revision ID: 2e30169e58ce -Revises: 32ba137a3d56 -Create Date: 2013-01-08 19:42:16.562926 - -""" - -# revision identifiers, used by Alembic. -revision = '2e30169e58ce' -down_revision = '32ba137a3d56' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - """ Change the api_token field from the user table from varchar(40) to - varchar(255). - """ - if op.get_bind().dialect.name != 'sqlite': - op.alter_column("user", "api_token", type_=sa.String(255)) - - -def downgrade(): - """ Change the api_token field from the user table from varchar(255) to - varchar(40). - """ - if op.get_bind().dialect.name != 'sqlite': - op.alter_column("user", "api_token", type_=sa.String(40)) diff --git a/frontend/coprs_frontend/alembic/versions/2fa80e062525_add_mock_chroots.py b/frontend/coprs_frontend/alembic/versions/2fa80e062525_add_mock_chroots.py deleted file mode 100644 index 9b2e402..0000000 --- a/frontend/coprs_frontend/alembic/versions/2fa80e062525_add_mock_chroots.py +++ /dev/null @@ -1,111 +0,0 @@ -"""empty message - -Revision ID: 2fa80e062525 -Revises: 2e30169e58ce -Create Date: 2013-01-14 09:04:42.768432 - -""" - -# revision identifiers, used by Alembic. -revision = "2fa80e062525" -down_revision = "2e30169e58ce" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.create_table("mock_chroot", - sa.Column("id", sa.Integer(), nullable=False), - sa.Column( - "os_release", sa.String(length=50), nullable=False), - sa.Column( - "os_version", sa.String(length=50), nullable=False), - sa.Column("arch", sa.String(length=50), nullable=False), - sa.Column("is_active", sa.Boolean(), nullable=False), - sa.PrimaryKeyConstraint("id") - ) - op.create_table("copr_chroot", - sa.Column("mock_chroot_id", sa.Integer(), nullable=False), - sa.Column("copr_id", sa.Integer(), nullable=False), - sa.ForeignKeyConstraint(["copr_id"], ["copr.id"], ), - sa.ForeignKeyConstraint( - ["mock_chroot_id"], ["mock_chroot.id"], ), - sa.PrimaryKeyConstraint("mock_chroot_id", "copr_id") - ) - - # transfer the data - we can"t assume how the code looks like when - # running the migration, so do everything from scratch - metadata = sa.MetaData() - # just what we need of copr table - coprs_table = sa.Table("copr", metadata, sa.Column( - "chroots", sa.Text()), sa.Column("id", sa.Integer())) - # get chroots - chroots = set() - for cs in op.get_bind().execute(sa.select([coprs_table.c.chroots])): - chroots.update(set(cs[0].split(" "))) - chroots = list(chroots) - - mc_table = sa.Table("mock_chroot", metadata, - sa.Column("id", sa.Integer(), nullable=False), - sa.Column( - "os_release", sa.String(length=50), nullable=False), - sa.Column( - "os_version", sa.String(length=50), nullable=False), - sa.Column( - "arch", sa.String(length=50), nullable=False), - sa.Column("is_active", sa.Boolean(), nullable=False), - ) - cc_table = sa.Table("copr_chroot", metadata, - sa.Column( - "mock_chroot_id", sa.Integer(), nullable=False), - sa.Column("copr_id", sa.Integer(), nullable=False), - ) - # each mock_chroot now has id of value i + 1 (not to include 0) - for i, c in enumerate(chroots): - sc = c.split("-") - op.bulk_insert(mc_table, [ - {"id": i + 1, - "os_release": sc[0], - "os_version": sc[1], - "arch": sc[2], - "is_active": True}]) - - # insert proper copr_chroots for every copr - for row in op.get_bind().execute(sa.select([coprs_table.c.id, coprs_table.c.chroots])): - for c in row[1].split(" "): - op.bulk_insert( - cc_table, [{"mock_chroot_id": chroots.index(c) + 1, - "copr_id": row[0]}]) - - if op.get_bind().dialect.name == "sqlite": - op.rename_table("copr", "copr_1") - op.create_table("copr", - sa.Column("id", sa.Integer(), nullable=False), - sa.Column( - "name", sa.String(length=100), nullable=False), - sa.Column("repos", sa.Text(), nullable=True), - sa.Column("created_on", sa.Integer(), nullable=True), - sa.Column("build_count", sa.Integer(), nullable=True), - sa.Column("owner_id", sa.Integer(), nullable=True), - sa.ForeignKeyConstraint(["owner_id"], ["user.id"], ), - sa.PrimaryKeyConstraint("id") - ) - op.execute( - "INSERT INTO copr SELECT id,name,repos,created_on,build_count,owner_id FROM copr_1") - op.drop_table("copr_1") - else: - op.drop_column("copr", u"chroots") - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column("copr", sa.Column( - u"chroots", sa.TEXT(), nullable=False, - server_default="fedora-rawhide-x86_64")) - - op.drop_table("copr_chroot") - op.drop_table("mock_chroot") - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/32ba137a3d56_add_token_informatio.py b/frontend/coprs_frontend/alembic/versions/32ba137a3d56_add_token_informatio.py deleted file mode 100644 index f9f9161..0000000 --- a/frontend/coprs_frontend/alembic/versions/32ba137a3d56_add_token_informatio.py +++ /dev/null @@ -1,33 +0,0 @@ -"""Add token information to the user table - -Revision ID: 32ba137a3d56 -Revises: 595a31c145fb -Create Date: 2013-01-07 20:56:14.698735 - -""" - -# revision identifiers, used by Alembic. -revision = "32ba137a3d56" -down_revision = "595a31c145fb" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - """ Add the coluns api_token and api_token_expiration to the user table. - """ - op.add_column("user", sa.Column("api_token", sa.String(40), - nullable=False, - server_default="default_token")) - - op.add_column("user", sa.Column("api_token_expiration", sa.Date, - nullable=False, - server_default="2000-1-1")) - - -def downgrade(): - """ Drop the coluns api_token and api_token_expiration to the user table. - """ - op.drop_column("user", "api_token") - op.drop_column("user", "api_token_expiration") diff --git a/frontend/coprs_frontend/alembic/versions/32fa3f232c34_owner_renamed_to_user_in_copr_table.py b/frontend/coprs_frontend/alembic/versions/32fa3f232c34_owner_renamed_to_user_in_copr_table.py deleted file mode 100644 index e6dd18d..0000000 --- a/frontend/coprs_frontend/alembic/versions/32fa3f232c34_owner_renamed_to_user_in_copr_table.py +++ /dev/null @@ -1,48 +0,0 @@ -"""Owner renamed to User in copr table - -Revision ID: 32fa3f232c34 -Revises: 13af46c70227 -Create Date: 2016-04-15 09:33:52.137979 - -""" - -# revision identifiers, used by Alembic. -revision = '32fa3f232c34' -down_revision = '13af46c70227' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.add_column('copr', sa.Column('user_id', sa.Integer(), nullable=True)) - - copr_table = sa.Table( - 'copr', - sa.MetaData(), - sa.Column('owner_id', sa.Integer(), sa.ForeignKey('user.id'), nullable=True), - sa.Column('user_id', sa.Integer(), nullable=True), - ) - - op.execute('UPDATE "copr" SET user_id = owner_id') - - op.drop_constraint(u'copr_owner_id_fkey', 'copr', type_='foreignkey') - op.create_foreign_key(u'copr_user_id_fkey', 'copr', 'user', ['user_id'], ['id']) - op.drop_column('copr', 'owner_id') - - -def downgrade(): - op.add_column('copr', sa.Column('owner_id', sa.INTEGER(), autoincrement=False, nullable=True)) - - copr_table = sa.Table( - 'copr', - sa.MetaData(), - sa.Column('owner_id', sa.Integer(), sa.ForeignKey('user.id'), nullable=True), - sa.Column('user_id', sa.Integer(), nullable=True), - ) - - op.execute('UPDATE "copr" SET owner_id = user_id') - - op.drop_constraint(u'copr_user_id_fkey', 'copr', type_='foreignkey') - op.create_foreign_key(u'copr_owner_id_fkey', 'copr', 'user', ['owner_id'], ['id']) - op.drop_column('copr', 'user_id') diff --git a/frontend/coprs_frontend/alembic/versions/3341bf554454_add_mageia_chroots.py b/frontend/coprs_frontend/alembic/versions/3341bf554454_add_mageia_chroots.py deleted file mode 100644 index 32f6bfc..0000000 --- a/frontend/coprs_frontend/alembic/versions/3341bf554454_add_mageia_chroots.py +++ /dev/null @@ -1,43 +0,0 @@ -"""add mageia chroots - -Revision ID: 3341bf554454 -Revises: 8de41eec1d1 -Create Date: 2016-09-20 19:28:16.115630 - -""" - -# revision identifiers, used by Alembic. -revision = '3341bf554454' -down_revision = '8de41eec1d1' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - bind = op.get_bind() - connection = bind.connect() - - connection.execute( - "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('mageia', '6', 'x86_64', True)" - ) - connection.execute( - "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('mageia', '6', 'i586', True)" - ) - connection.execute( - "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('mageia', 'cauldron', 'x86_64', True)" - ) - connection.execute( - "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('mageia', 'cauldron', 'i586', True)" - ) - connection.close() - - -def downgrade(): - bind = op.get_bind() - connection = bind.connect() - - connection.execute( # there might be already referencing records so just set is_active to False instead of removing - "UPDATE mock_chroot SET is_active=False WHERE os_release = 'mageia'" - ) - connection.close() diff --git a/frontend/coprs_frontend/alembic/versions/38f205566f20_make_data_in_copr_id_name_in_package_.py b/frontend/coprs_frontend/alembic/versions/38f205566f20_make_data_in_copr_id_name_in_package_.py deleted file mode 100644 index 63dbe32..0000000 --- a/frontend/coprs_frontend/alembic/versions/38f205566f20_make_data_in_copr_id_name_in_package_.py +++ /dev/null @@ -1,29 +0,0 @@ -"""make data in (copr_id, name) in package table unique, see Bug 1382243 - Multiple rows were found for one() - Assume that there are no two packages with the same name in the same copr both having some builds referencing them - (otherwise manual "rebinding" of the builds to just one of the packages is needed). - -Revision ID: 38f205566f20 -Revises: 15852f9e313f -Create Date: 2016-10-10 14:09:03.353726 - -""" - -# revision identifiers, used by Alembic. -revision = '38f205566f20' -down_revision = '15852f9e313f' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - bind = op.get_bind() - connection = bind.connect() - connection.execute(""" - DELETE FROM package WHERE package.id NOT IN (SELECT DISTINCT package_id FROM build WHERE package_id IS NOT NULL) AND EXISTS (SELECT id FROM package AS package2 WHERE package2.copr_id=package.copr_id AND package2.name=package.name AND package2.id!=package.id); - """) - connection.close() - -def downgrade(): - # this migration is only one-way - pass diff --git a/frontend/coprs_frontend/alembic/versions/3a035889852c_add_copr_fulltext.py b/frontend/coprs_frontend/alembic/versions/3a035889852c_add_copr_fulltext.py deleted file mode 100644 index 36a94c8..0000000 --- a/frontend/coprs_frontend/alembic/versions/3a035889852c_add_copr_fulltext.py +++ /dev/null @@ -1,79 +0,0 @@ -"""add_copr_fulltext - -Revision ID: 3a035889852c -Revises: 3c3cce7a5fe0 -Create Date: 2013-02-01 10:06:37.034495 - -""" - -# revision identifiers, used by Alembic. -revision = '3a035889852c' -down_revision = '3c3cce7a5fe0' - -from alembic import op -import sqlalchemy as sa -from sqlalchemy import types -from sqlalchemy.ext import compiler - - -class Tsvector(types.UnicodeText): - pass - - -@compiler.compiles(Tsvector, 'postgresql') -def compile_tsvector(element, compiler, **kw): - return 'tsvector' - - -@compiler.compiles(Tsvector, 'sqlite') -def compile_tsvector(element, compiler, **kw): - return 'text' - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('copr', sa.Column('copr_ts_col', Tsvector(), nullable=True)) - op.create_index( - 'copr_ts_idx', 'copr', ['copr_ts_col'], postgresql_using='gin') - - session = sa.orm.sessionmaker(bind=op.get_bind())() - metadata = sa.MetaData() - if op.get_bind().dialect.name == 'postgresql': - op.execute("UPDATE copr \ - SET copr_ts_col = to_tsvector('pg_catalog.english', coalesce(name, '') || ' ' || \ - coalesce(description, '') || ' ' || coalesce(instructions, ''))") - # no need to coalesce here, the trigger doesn't need it - op.execute("CREATE TRIGGER copr_ts_update BEFORE INSERT OR UPDATE \ - ON copr \ - FOR EACH ROW EXECUTE PROCEDURE \ - tsvector_update_trigger(copr_ts_col, 'pg_catalog.english', name, description, instructions);") - elif op.get_bind().dialect.name == 'sqlite': - op.execute("UPDATE copr \ - SET copr_ts_col = coalesce(name, '') || ' ' || \ - coalesce(description, '') || ' ' || coalesce(instructions, '')") - # two triggers for sqlite... - op.execute("CREATE TRIGGER copr_ts_update \ - AFTER UPDATE OF name, description, instructions \ - ON copr \ - FOR EACH ROW \ - BEGIN \ - UPDATE copr SET copr_ts_col = coalesce(name, '') || ' ' || \ - coalesce(description, '') || ' ' || coalesce(instructions, ''); \ - END;") - op.execute("CREATE TRIGGER copr_ts_insert \ - AFTER INSERT \ - ON copr \ - FOR EACH ROW \ - BEGIN \ - UPDATE copr SET copr_ts_col = coalesce(name, '') || ' ' || \ - coalesce(description, '') || ' ' || coalesce(instructions, ''); \ - END;") - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('copr', 'copr_ts_col') - if op.get_bind().dialect.name == 'postgresql': - op.execute("DROP TRIGGER copr_ts_update ON copr") - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/3a415c6392bc_add_buildroot_pkgs_c.py b/frontend/coprs_frontend/alembic/versions/3a415c6392bc_add_buildroot_pkgs_c.py deleted file mode 100644 index fc98197..0000000 --- a/frontend/coprs_frontend/alembic/versions/3a415c6392bc_add_buildroot_pkgs_c.py +++ /dev/null @@ -1,23 +0,0 @@ -"""add buildroot_pkgs column - -Revision ID: 3a415c6392bc -Revises: 52e53e7b413e -Create Date: 2013-11-28 15:46:24.860025 - -""" - -# revision identifiers, used by Alembic. -revision = "3a415c6392bc" -down_revision = "52e53e7b413e" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.add_column("copr_chroot", sa.Column( - "buildroot_pkgs", sa.Text(), nullable=True)) - - -def downgrade(): - op.drop_column("copr_chroot", "buildroot_pkgs") diff --git a/frontend/coprs_frontend/alembic/versions/3a9905ed8ffd_add_index_to_build_chroot_ended_on_.py b/frontend/coprs_frontend/alembic/versions/3a9905ed8ffd_add_index_to_build_chroot_ended_on_.py deleted file mode 100644 index 9da39a9..0000000 --- a/frontend/coprs_frontend/alembic/versions/3a9905ed8ffd_add_index_to_build_chroot_ended_on_.py +++ /dev/null @@ -1,26 +0,0 @@ -"""add index to build_chroot.ended_on column - -Revision ID: 3a9905ed8ffd -Revises: 3341bf554454 -Create Date: 2016-09-27 11:57:50.075139 - -""" - -# revision identifiers, used by Alembic. -revision = '3a9905ed8ffd' -down_revision = '3341bf554454' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.create_index(op.f('ix_build_chroot_ended_on'), 'build_chroot', ['ended_on'], unique=False) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_index('ix_build_chroot_ended_on', table_name='build_chroot') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/3b1ee8f6baaf_add_is_background_column.py b/frontend/coprs_frontend/alembic/versions/3b1ee8f6baaf_add_is_background_column.py deleted file mode 100644 index 673083c..0000000 --- a/frontend/coprs_frontend/alembic/versions/3b1ee8f6baaf_add_is_background_column.py +++ /dev/null @@ -1,22 +0,0 @@ -"""Add is_background column - -Revision ID: 3b1ee8f6baaf -Revises: 32fa3f232c34 -Create Date: 2016-06-13 11:05:00.424325 - -""" - -# revision identifiers, used by Alembic. -revision = '3b1ee8f6baaf' -down_revision = '32fa3f232c34' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.add_column('build', sa.Column('is_background', sa.Boolean(), server_default='0', nullable=False)) - - -def downgrade(): - op.drop_column('build', 'is_background') diff --git a/frontend/coprs_frontend/alembic/versions/3b4cfc666d14_.py b/frontend/coprs_frontend/alembic/versions/3b4cfc666d14_.py deleted file mode 100644 index b58e0d2..0000000 --- a/frontend/coprs_frontend/alembic/versions/3b4cfc666d14_.py +++ /dev/null @@ -1,26 +0,0 @@ -"""empty message - -Revision ID: 3b4cfc666d14 -Revises: 22fde92cb568 -Create Date: 2015-08-31 17:17:52.396183 - -""" - -# revision identifiers, used by Alembic. -revision = '3b4cfc666d14' -down_revision = '22fde92cb568' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('build', sa.Column('fail_type', sa.Integer(), default=0)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('build', 'fail_type') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/3b67c52f5277_add_repos_to_copr_chroot.py b/frontend/coprs_frontend/alembic/versions/3b67c52f5277_add_repos_to_copr_chroot.py deleted file mode 100644 index 6ef65b6..0000000 --- a/frontend/coprs_frontend/alembic/versions/3b67c52f5277_add_repos_to_copr_chroot.py +++ /dev/null @@ -1,22 +0,0 @@ -"""add repos to copr_chroot - -Revision ID: 3b67c52f5277 -Revises: 4c6d0a2db343 -Create Date: 2016-11-24 12:06:34.092195 - -""" - -# revision identifiers, used by Alembic. -revision = '3b67c52f5277' -down_revision = '4c6d0a2db343' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.add_column(u'copr_chroot', sa.Column('repos', sa.Text(), nullable=False, server_default='')) - - -def downgrade(): - op.drop_column(u'copr_chroot', 'repos') diff --git a/frontend/coprs_frontend/alembic/versions/3c3cce7a5fe0_add_copr_desc_and_instruct.py b/frontend/coprs_frontend/alembic/versions/3c3cce7a5fe0_add_copr_desc_and_instruct.py deleted file mode 100644 index 77a612d..0000000 --- a/frontend/coprs_frontend/alembic/versions/3c3cce7a5fe0_add_copr_desc_and_instruct.py +++ /dev/null @@ -1,28 +0,0 @@ -"""empty message - -Revision ID: 3c3cce7a5fe0 -Revises: 2fa80e062525 -Create Date: 2013-01-22 09:42:39.037642 - -""" - -# revision identifiers, used by Alembic. -revision = "3c3cce7a5fe0" -down_revision = "2fa80e062525" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column("copr", sa.Column("description", sa.Text(), nullable=True)) - op.add_column("copr", sa.Column("instructions", sa.Text(), nullable=True)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column("copr", "instructions") - op.drop_column("copr", "description") - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/3ec22e1db75a_add_openid_group_column.py b/frontend/coprs_frontend/alembic/versions/3ec22e1db75a_add_openid_group_column.py deleted file mode 100644 index ca198fe..0000000 --- a/frontend/coprs_frontend/alembic/versions/3ec22e1db75a_add_openid_group_column.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Add openid_group column - -Revision ID: 3ec22e1db75a -Revises: 3f4966a9cc0 -Create Date: 2015-10-09 07:56:41.303179 - -""" - -# revision identifiers, used by Alembic. -revision = '3ec22e1db75a' -down_revision = '3f4966a9cc0' - -from alembic import op -import sqlalchemy as sa - -import os -import sys -here = os.path.dirname(os.path.realpath(__file__)) -sys.path.append(os.path.dirname(os.path.dirname(here))) -from coprs.helpers import JSONEncodedDict - -def upgrade(): - op.add_column('user', sa.Column('openid_groups', JSONEncodedDict(), nullable=True)) - - -def downgrade(): - op.drop_column('user', 'openid_groups') diff --git a/frontend/coprs_frontend/alembic/versions/3f4966a9cc0_add_group_table.py b/frontend/coprs_frontend/alembic/versions/3f4966a9cc0_add_group_table.py deleted file mode 100644 index 8e0e955..0000000 --- a/frontend/coprs_frontend/alembic/versions/3f4966a9cc0_add_group_table.py +++ /dev/null @@ -1,31 +0,0 @@ -"""Add group table - -Revision ID: 3f4966a9cc0 -Revises: 3b4cfc666d14 -Create Date: 2015-09-24 10:14:06.291886 - -""" - -# revision identifiers, used by Alembic. -revision = '3f4966a9cc0' -down_revision = '3b4cfc666d14' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.create_table('group', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('name', sa.String(length=127), nullable=True), - sa.Column('fas_name', sa.String(length=127), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.add_column('copr', - sa.Column('group_id', sa.Integer(), nullable=True) - ) - - -def downgrade(): - op.drop_table('group') - op.drop_column('copr', 'group_id') diff --git a/frontend/coprs_frontend/alembic/versions/3fdedd58ac73_add_module_table.py b/frontend/coprs_frontend/alembic/versions/3fdedd58ac73_add_module_table.py deleted file mode 100644 index 31027be..0000000 --- a/frontend/coprs_frontend/alembic/versions/3fdedd58ac73_add_module_table.py +++ /dev/null @@ -1,118 +0,0 @@ -"""add module table - -Revision ID: 3fdedd58ac73 -Revises: 412c2c8d9da -Create Date: 2016-10-26 22:01:09.361070 - -""" - -# revision identifiers, used by Alembic. -revision = '3fdedd58ac73' -down_revision = '412c2c8d9da' - -from alembic import op -import sqlalchemy as sa - -from coprs.models import Module, Action, Copr, User, Group -from sqlalchemy.orm import sessionmaker - -import json -import base64 -import modulemd -import yaml -from coprs.logic.coprs_logic import CoprsLogic -from coprs.logic.actions_logic import ActionsLogic -from coprs.helpers import ActionTypeEnum - - -def upgrade(): - bind = op.get_bind() - Session = sessionmaker() - session = Session(bind=bind) - - op.create_table( - "module", - sa.Column("id", sa.Integer, primary_key=True), - sa.Column("name", sa.String(100), nullable=False), - sa.Column("stream", sa.String(100), nullable=False), - sa.Column("version", sa.Integer, nullable=False), - sa.Column("summary", sa.String(100), nullable=False), - sa.Column("description", sa.Text), - sa.Column("created_on", sa.Integer, nullable=True), - sa.Column("yaml_b64", sa.Text), - sa.Column("copr_id", sa.Integer, sa.ForeignKey("copr.id")), - ) - op.create_unique_constraint("unique_name_stream_version_copr_id", "module", - ["name", "stream", "version", "copr_id"]) - session.commit() - - # Now, let's seed the table with existing modules which are violently stored in the `action` table - added_modules = set() - for action in ActionsLogic.get_many(ActionTypeEnum("build_module")).order_by(Action.id.desc()): - data = json.loads(action.data) - if not "ownername" in data: - continue # already new action format - copr = get_copr(session, data["ownername"], data["projectname"]) - yml_str = base64.b64decode(data["modulemd_b64"]) - yml = yaml.safe_load(yml_str) - - mmd = modulemd.ModuleMetadata() - mmd.name = yml["data"]["name"] - mmd.stream = "" - mmd.version = action.created_on - mmd.summary = yml["data"]["summary"] - - if "filter" in yml["data"]["components"]["rpms"]: - for package in yml["data"]["components"]["rpms"]["filter"]: - mmd.filter.add_rpm(package) - - for package in yml["data"]["components"]["rpms"]["api"]: - mmd.api.add_rpm(package) - - for profile_name in yml["data"]["profiles"]: - mmd.profiles[profile_name] = modulemd.profile.ModuleProfile() - for package in yml["data"]["profiles"][profile_name]["rpms"]: - mmd.profiles[profile_name].add_rpm(package) - - module_kwargs = { - "name": mmd.name, - "stream": mmd.stream, - "version": mmd.version, - "summary": mmd.summary, - "description": mmd.description, - "yaml_b64": base64.b64encode(mmd.dumps()), - "created_on": action.created_on, - "copr_id": copr.id, - } - - # There is no constraint for currently existing modules, but in new table, there - # must be unique (copr, nsv). Therefore in the case of duplicit modules, - # we will add only the newest one - if full_module_name(copr, mmd) in added_modules: - print("Skipping {}; Already exists".format(full_module_name(copr, mmd))) - continue - else: - print("Adding {}".format(full_module_name(copr, mmd))) - - session.add(Module(**module_kwargs)) - added_modules.add(full_module_name(copr, mmd)) - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_table('module') - ### end Alembic commands ### - - -def full_module_name(copr, mmd): - return "{}/{}-{}-{}".format( - copr.full_name, mmd.name, mmd.stream, mmd.version - ) - - -def get_copr(session, ownername, projectname): - if ownername[0] == "@": - coprs = CoprsLogic.filter_by_group_name(session.query(Copr), ownername[1:]) - else: - coprs = CoprsLogic.filter_by_user_name(session.query(Copr), ownername) - return CoprsLogic.filter_by_name(coprs, projectname).first() diff --git a/frontend/coprs_frontend/alembic/versions/412c2c8d9da_add_auto_prune_attribute_for_project.py b/frontend/coprs_frontend/alembic/versions/412c2c8d9da_add_auto_prune_attribute_for_project.py deleted file mode 100644 index 03b8eda..0000000 --- a/frontend/coprs_frontend/alembic/versions/412c2c8d9da_add_auto_prune_attribute_for_project.py +++ /dev/null @@ -1,22 +0,0 @@ -"""add auto_prune attribute for project - -Revision ID: 412c2c8d9da -Revises: 414a86b37a0f -Create Date: 2016-11-14 10:33:03.299810 - -""" - -# revision identifiers, used by Alembic. -revision = '412c2c8d9da' -down_revision = '414a86b37a0f' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.add_column('copr', sa.Column('auto_prune', sa.Boolean(), nullable=False, server_default='t')) - - -def downgrade(): - op.drop_column('copr', 'auto_prune') diff --git a/frontend/coprs_frontend/alembic/versions/414a86b37a0f_add_unique_constraint_on_copr_id_name_.py b/frontend/coprs_frontend/alembic/versions/414a86b37a0f_add_unique_constraint_on_copr_id_name_.py deleted file mode 100644 index ccd30f4..0000000 --- a/frontend/coprs_frontend/alembic/versions/414a86b37a0f_add_unique_constraint_on_copr_id_name_.py +++ /dev/null @@ -1,22 +0,0 @@ -"""add unique constraint on (copr_id, name) in package table - -Revision ID: 414a86b37a0f -Revises: 38f205566f20 -Create Date: 2016-10-10 14:09:22.972767 - -""" - -# revision identifiers, used by Alembic. -revision = '414a86b37a0f' -down_revision = '38f205566f20' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.create_unique_constraint("packages_copr_pkgname", "package", ["copr_id", "name"]) - - -def downgrade(): - op.drop_constraint("packages_copr_pkgname", "package") diff --git a/frontend/coprs_frontend/alembic/versions/419a626c25e6_rename_rawhide_to_f26.py b/frontend/coprs_frontend/alembic/versions/419a626c25e6_rename_rawhide_to_f26.py deleted file mode 100644 index 813a7c9..0000000 --- a/frontend/coprs_frontend/alembic/versions/419a626c25e6_rename_rawhide_to_f26.py +++ /dev/null @@ -1,34 +0,0 @@ -"""Rename rawhide to f26 - -Revision ID: 419a626c25e6 -Revises: 149da7c4ac2f -Create Date: 2016-10-05 13:16:21.428071 - -""" - -# revision identifiers, used by Alembic. -revision = '419a626c25e6' -down_revision = '149da7c4ac2f' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - bind = op.get_bind() - connection = bind.connect() - - connection.execute( - "UPDATE mock_chroot SET os_version='26' WHERE os_release = 'fedora' AND os_version = 'rawhide'" - ) - connection.close() - - -def downgrade(): - bind = op.get_bind() - connection = bind.connect() - - connection.execute( - "UPDATE mock_chroot SET os_version='rawhide' WHERE os_release = 'fedora' AND os_version = '26'" - ) - connection.close() diff --git a/frontend/coprs_frontend/alembic/versions/450fe5f7942d_added_table_counterstat.py b/frontend/coprs_frontend/alembic/versions/450fe5f7942d_added_table_counterstat.py deleted file mode 100644 index dae6c40..0000000 --- a/frontend/coprs_frontend/alembic/versions/450fe5f7942d_added_table_counterstat.py +++ /dev/null @@ -1,31 +0,0 @@ -"""added table CounterStat - -Revision ID: 450fe5f7942d -Revises: bd0dab2e478 -Create Date: 2015-02-19 23:40:08.934834 - -""" - -# revision identifiers, used by Alembic. -revision = '450fe5f7942d' -down_revision = 'bd0dab2e478' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.create_table('counter_stat', - sa.Column('name', sa.String(length=127), nullable=False), - sa.Column('counter_type', sa.String(length=30), nullable=True), - sa.Column('counter', sa.Integer(), server_default='0', nullable=True), - sa.PrimaryKeyConstraint('name') - ) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_table('counter_stat') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/451e9507b866_generalize_action.py b/frontend/coprs_frontend/alembic/versions/451e9507b866_generalize_action.py deleted file mode 100644 index 3622cf4..0000000 --- a/frontend/coprs_frontend/alembic/versions/451e9507b866_generalize_action.py +++ /dev/null @@ -1,31 +0,0 @@ -"""generalize_action - -Revision ID: 451e9507b866 -Revises: 2a75f0a06d90 -Create Date: 2013-03-29 12:13:33.303584 - -""" - -# revision identifiers, used by Alembic. -revision = "451e9507b866" -down_revision = "2a75f0a06d90" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column("action", sa.Column("message", sa.Text(), nullable=True)) - op.add_column("action", sa.Column("ended_on", sa.Integer(), nullable=True)) - op.drop_column("action", u"backend_message") - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column( - "action", sa.Column(u"backend_message", sa.TEXT(), nullable=True)) - op.drop_column("action", "ended_on") - op.drop_column("action", "message") - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/4567fd34cfb6_added_module_md_zlib_and_module_md_name_.py b/frontend/coprs_frontend/alembic/versions/4567fd34cfb6_added_module_md_zlib_and_module_md_name_.py deleted file mode 100644 index 38198cf..0000000 --- a/frontend/coprs_frontend/alembic/versions/4567fd34cfb6_added_module_md_zlib_and_module_md_name_.py +++ /dev/null @@ -1,28 +0,0 @@ -"""added module_md_zlib and module_md_name to coprchroot - -Revision ID: 4567fd34cfb6 -Revises: 1ff696f006f1 -Create Date: 2016-07-18 13:58:51.629188 - -""" - -# revision identifiers, used by Alembic. -revision = '4567fd34cfb6' -down_revision = '1ff696f006f1' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('copr_chroot', sa.Column('module_md_name', sa.String(length=127), nullable=True)) - op.add_column('copr_chroot', sa.Column('module_md_zlib', sa.LargeBinary(), nullable=True)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('copr_chroot', 'module_md_zlib') - op.drop_column('copr_chroot', 'module_md_name') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/4837ad1d96ea_drop_copr_build_coun.py b/frontend/coprs_frontend/alembic/versions/4837ad1d96ea_drop_copr_build_coun.py deleted file mode 100644 index dc5e7ce..0000000 --- a/frontend/coprs_frontend/alembic/versions/4837ad1d96ea_drop_copr_build_coun.py +++ /dev/null @@ -1,24 +0,0 @@ -"""drop Copr.build_count - -Revision ID: 4837ad1d96ea -Revises: 294405dfc7c0 -Create Date: 2014-01-20 17:05:20.917522 - -""" - -# revision identifiers, used by Alembic. -revision = "4837ad1d96ea" -down_revision = "294405dfc7c0" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - """ Drop "build_count" colum from copr table. """ - op.drop_column("copr", "build_count") - - -def downgrade(): - """ Add "build_count" colum to copr table. """ - op.add_column("copr", sa.Column("build_count", sa.Integer(default=0))) diff --git a/frontend/coprs_frontend/alembic/versions/498884ac47db_add_timezone_field.py b/frontend/coprs_frontend/alembic/versions/498884ac47db_add_timezone_field.py deleted file mode 100644 index add80d4..0000000 --- a/frontend/coprs_frontend/alembic/versions/498884ac47db_add_timezone_field.py +++ /dev/null @@ -1,24 +0,0 @@ -"""add timezone field - -Revision ID: 498884ac47db -Revises: 4837ad1d96ea -Create Date: 2014-01-23 12:15:04.450292 - -""" - -# revision identifiers, used by Alembic. -revision = '498884ac47db' -down_revision = '4837ad1d96ea' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - """ Add 'data' colum to action table. """ - op.add_column('user', sa.Column('timezone', sa.String(length=50), nullable=True)) - - -def downgrade(): - """ Drop 'data' colum from action table. """ - op.drop_column('user', 'timezone') diff --git a/frontend/coprs_frontend/alembic/versions/4af9d157c4ea_add_unique_constraint_for_mock_chroots.py b/frontend/coprs_frontend/alembic/versions/4af9d157c4ea_add_unique_constraint_for_mock_chroots.py deleted file mode 100644 index fb57e34..0000000 --- a/frontend/coprs_frontend/alembic/versions/4af9d157c4ea_add_unique_constraint_for_mock_chroots.py +++ /dev/null @@ -1,20 +0,0 @@ -"""add unique constraint for mock chroots - -Revision ID: 4af9d157c4ea -Revises: 3b67c52f5277 -Create Date: 2017-01-20 16:44:30.473253 - -""" - -# revision identifiers, used by Alembic. -revision = '4af9d157c4ea' -down_revision = '3b67c52f5277' - -from alembic import op -import sqlalchemy as sa - -def upgrade(): - op.create_unique_constraint('mock_chroot_uniq', 'mock_chroot', ['os_release', 'os_version', 'arch']) - -def downgrade(): - op.drop_constraint('mock_chroot_uniq', 'mock_chroot', type_='unique') diff --git a/frontend/coprs_frontend/alembic/versions/4b57794e2b5_fix_stored_procudure_status_order_bug.py b/frontend/coprs_frontend/alembic/versions/4b57794e2b5_fix_stored_procudure_status_order_bug.py deleted file mode 100644 index 8c145d6..0000000 --- a/frontend/coprs_frontend/alembic/versions/4b57794e2b5_fix_stored_procudure_status_order_bug.py +++ /dev/null @@ -1,78 +0,0 @@ -"""fix stored procudure (status order) bug - -Revision ID: 4b57794e2b5 -Revises: 19ca0c14096e -Create Date: 2015-11-20 11:57:25.079854 - -""" - -# revision identifiers, used by Alembic. -revision = '4b57794e2b5' -down_revision = '19ca0c14096e' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - query_functions = """ -CREATE OR REPLACE FUNCTION status_to_order (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 0 THEN 0 - WHEN x = 3 THEN 1 - WHEN x = 6 THEN 2 - WHEN x = 7 THEN 3 - WHEN x = 4 THEN 4 - WHEN x = 1 THEN 5 - WHEN x = 5 THEN 6 - WHEN x = 2 THEN 7 - ELSE x - END; END; - $$ LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION order_to_status (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 0 THEN 0 - WHEN x = 1 THEN 3 - WHEN x = 2 THEN 6 - WHEN x = 3 THEN 7 - WHEN x = 4 THEN 4 - WHEN x = 5 THEN 1 - WHEN x = 6 THEN 5 - WHEN x = 7 THEN 2 - ELSE x - END; END; - $$ LANGUAGE plpgsql; -""" - op.execute(sa.text(query_functions)) - - -def downgrade(): - query_functions = """ -CREATE OR REPLACE FUNCTION status_to_order (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 0 THEN 0 - WHEN x = 3 THEN 1 - WHEN x = 6 THEN 2 - WHEN x = 7 THEN 3 - WHEN x = 4 THEN 4 - WHEN x = 1 THEN 5 - WHEN x = 5 THEN 6 - ELSE 1000 - END; END; - $$ LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION order_to_status (x integer) -RETURNS integer AS $$ BEGIN - RETURN CASE WHEN x = 0 THEN 0 - WHEN x = 1 THEN 3 - WHEN x = 2 THEN 6 - WHEN x = 3 THEN 7 - WHEN x = 4 THEN 4 - WHEN x = 5 THEN 1 - WHEN x = 6 THEN 5 - ELSE 1000 - END; END; - $$ LANGUAGE plpgsql; -""" - op.execute(sa.text(query_functions)) diff --git a/frontend/coprs_frontend/alembic/versions/4c6d0a2db343_change_module_version_to_bigint.py b/frontend/coprs_frontend/alembic/versions/4c6d0a2db343_change_module_version_to_bigint.py deleted file mode 100644 index 388cfd7..0000000 --- a/frontend/coprs_frontend/alembic/versions/4c6d0a2db343_change_module_version_to_bigint.py +++ /dev/null @@ -1,22 +0,0 @@ -"""change module version to bigint - -Revision ID: 4c6d0a2db343 -Revises: 3fdedd58ac73 -Create Date: 2016-11-23 04:43:29.207158 - -""" - -# revision identifiers, used by Alembic. -revision = '4c6d0a2db343' -down_revision = '3fdedd58ac73' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.alter_column('module', 'version', existing_type=sa.Integer(), type_=sa.BigInteger()) - - -def downgrade(): - op.alter_column('module', 'version', existing_type=sa.BigInteger(), type_=sa.Integer()) diff --git a/frontend/coprs_frontend/alembic/versions/4f6b48ec62ab_add_contact_and_homepage_columns.py b/frontend/coprs_frontend/alembic/versions/4f6b48ec62ab_add_contact_and_homepage_columns.py deleted file mode 100644 index c03886a..0000000 --- a/frontend/coprs_frontend/alembic/versions/4f6b48ec62ab_add_contact_and_homepage_columns.py +++ /dev/null @@ -1,24 +0,0 @@ -"""add contact and homepage columns - -Revision ID: 4f6b48ec62ab -Revises: 57be43049e9b -Create Date: 2015-07-13 14:54:26.713819 - -""" - -# revision identifiers, used by Alembic. -revision = '4f6b48ec62ab' -down_revision = '57be43049e9b' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.add_column(u'copr', sa.Column('contact', sa.Text, nullable=True)) - op.add_column(u'copr', sa.Column('homepage', sa.Text, nullable=True)) - - -def downgrade(): - op.drop_column(u'copr', 'contact') - op.drop_column(u'copr', 'homepage') diff --git a/frontend/coprs_frontend/alembic/versions/5055336e8c44_build_packages_and_s.py b/frontend/coprs_frontend/alembic/versions/5055336e8c44_build_packages_and_s.py deleted file mode 100644 index da50276..0000000 --- a/frontend/coprs_frontend/alembic/versions/5055336e8c44_build_packages_and_s.py +++ /dev/null @@ -1,28 +0,0 @@ -"""build packages and subpackages - -Revision ID: 5055336e8c44 -Revises: 20140423001 -Create Date: 2014-07-15 10:12:21.875119 - -""" - -# revision identifiers, used by Alembic. -revision = '5055336e8c44' -down_revision = '20140423001' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('build', sa.Column('pkg_version', sa.Text(), nullable=True)) - op.add_column('build', sa.Column('built_packages', sa.Text(), nullable=True)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('build', 'built_packages') - op.drop_column('build', 'pkg_version') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/52e53e7b413e_add_build_chroot.py b/frontend/coprs_frontend/alembic/versions/52e53e7b413e_add_build_chroot.py deleted file mode 100644 index 3d8e444..0000000 --- a/frontend/coprs_frontend/alembic/versions/52e53e7b413e_add_build_chroot.py +++ /dev/null @@ -1,75 +0,0 @@ -""" Add BuildChroot table - -Revision ID: 52e53e7b413e -Revises: 246fd2dbf398 -Create Date: 2013-11-14 09:00:43.787717 - -""" - -# revision identifiers, used by Alembic. -revision = "52e53e7b413e" -down_revision = "246fd2dbf398" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.create_table("build_chroot", - sa.Column("mock_chroot_id", sa.Integer(), nullable=False), - sa.Column("build_id", sa.Integer(), nullable=False), - sa.Column("status", sa.Integer(), nullable=True), - sa.ForeignKeyConstraint(["build_id"], ["build.id"], ), - sa.ForeignKeyConstraint( - ["mock_chroot_id"], ["mock_chroot.id"], ), - sa.PrimaryKeyConstraint("mock_chroot_id", "build_id") - ) - - # transfer data from build table to build_chroot - metadata = sa.MetaData() - # just what we need of copr table - build_table = sa.Table("build", metadata, - sa.Column("chroots", sa.Text()), - sa.Column("status", sa.Integer()), - sa.Column("id", sa.Integer()), - ) - - mc_table = sa.Table("mock_chroot", metadata, - sa.Column("id", sa.Integer(), nullable=False), - sa.Column( - "os_release", sa.String(length=50), nullable=False), - sa.Column( - "os_version", sa.String(length=50), nullable=False), - sa.Column( - "arch", sa.String(length=50), nullable=False), - sa.Column("is_active", sa.Boolean(), nullable=False), - ) - bc_table = sa.Table("build_chroot", metadata, - sa.Column( - "mock_chroot_id", sa.Integer(), nullable=False), - sa.Column("build_id", sa.Integer(), nullable=False), - sa.Column("status", sa.Integer(), nullable=True), - ) - for row in op.get_bind().execute(sa.select([build_table.c.id, build_table.c.chroots, build_table.c.status])): - for c in row[1].split(" "): - chroot_array = c.split("-") - for row2 in (op.get_bind().execute(sa.select([mc_table.c.id], sa.and_( - mc_table.c.os_release == op.inline_literal(chroot_array[0]), - mc_table.c.os_version == op.inline_literal(chroot_array[1]), - mc_table.c.arch == op.inline_literal(chroot_array[2]), - )))): # should be just one row - op.bulk_insert( - bc_table, [{"mock_chroot_id": row2[0], "build_id": row[0], "status": row[2]}]) - - # drop old columns - op.drop_column(u"build", u"status") - op.drop_column(u"build", u"chroots") - - -def downgrade(): - print("Why are you downgrading? You will just lost some data.") - op.add_column(u"build", sa.Column(u"chroots", sa.TEXT(), nullable=False)) - op.add_column(u"build", sa.Column(u"status", sa.INTEGER(), nullable=True)) - op.drop_table("build_chroot") - print("Data about chroots for builds are gone!") diff --git a/frontend/coprs_frontend/alembic/versions/544873aa3ba1_add_action.py b/frontend/coprs_frontend/alembic/versions/544873aa3ba1_add_action.py deleted file mode 100644 index dcacc6a..0000000 --- a/frontend/coprs_frontend/alembic/versions/544873aa3ba1_add_action.py +++ /dev/null @@ -1,40 +0,0 @@ -"""empty message - -Revision ID: 544873aa3ba1 -Revises: 1ee4b45f5476 -Create Date: 2013-02-20 13:20:34.778470 - -""" - -# revision identifiers, used by Alembic. -revision = "544873aa3ba1" -down_revision = "1ee4b45f5476" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.create_table("action", - sa.Column("id", sa.Integer(), nullable=False), - sa.Column("action_type", sa.Integer(), nullable=False), - sa.Column( - "object_type", sa.String(length=20), nullable=True), - sa.Column("object_id", sa.Integer(), nullable=True), - sa.Column( - "old_value", sa.String(length=255), nullable=True), - sa.Column( - "new_value", sa.String(length=255), nullable=True), - sa.Column("backend_result", sa.Integer(), nullable=True), - sa.Column("backend_message", sa.Text(), nullable=True), - sa.Column("created_on", sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint("id") - ) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_table("action") - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/552455e5910e_new_table_packages.py b/frontend/coprs_frontend/alembic/versions/552455e5910e_new_table_packages.py deleted file mode 100644 index a5f6a99..0000000 --- a/frontend/coprs_frontend/alembic/versions/552455e5910e_new_table_packages.py +++ /dev/null @@ -1,105 +0,0 @@ -"""new table Packages - -Revision ID: 552455e5910e -Revises: 450fe5f7942d -Create Date: 2015-07-07 12:19:28.536592 - -""" - -# revision identifiers, used by Alembic. -revision = '552455e5910e' -down_revision = '450fe5f7942d' - -from alembic import op -import sqlalchemy as sa -from sqlalchemy import and_ -from rpmUtils.miscutils import splitFilename -import os -import json - -def parse_package_name(pkg): - if pkg.count(".") >= 3 and pkg.count("-") >= 2: - return splitFilename(pkg)[0] - # doesn"t seem like valid pkg string, try to guess package name - result = "" - pkg = pkg.replace(".rpm", "").replace(".src", "") - for delim in ["-", "."]: - if delim in pkg: - parts = pkg.split(delim) - for part in parts: - if any(map(lambda x: x.isdigit(), part)): - return result[:-1] - result += part + "-" - return result[:-1] - return pkg - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.create_table('package', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('name', sa.String(length=100), nullable=False), - sa.Column('source_type', sa.Integer(), nullable=True), - sa.Column('source_json', sa.Text(), nullable=True), - sa.Column('copr_id', sa.Integer(), nullable=True), - sa.ForeignKeyConstraint(['copr_id'], ['copr.id'], ), - sa.PrimaryKeyConstraint('id') - ) - op.add_column(u'build', sa.Column('package_id', sa.Integer(), nullable=True)) - op.add_column(u'build', sa.Column('source_json', sa.Text(), nullable=True)) - op.add_column(u'build', sa.Column('source_type', sa.Integer(), nullable=True)) - op.add_column(u'build_chroot', sa.Column('git_hash', sa.String(length=40), nullable=True)) - - op.create_index('package_copr_id_name', 'package', ['copr_id', 'name']) - op.create_index('build_copr_id_package_id', 'build', ['copr_id', 'package_id']) - ### end Alembic commands ### - - bind = op.get_bind() - connection = bind.connect() - - package_table = sa.Table( - "package", - sa.MetaData(), - sa.Column("id", sa.Integer, nullable=False), - sa.Column("name", sa.String(100), nullable=False), - sa.Column("copr_id", sa.Integer, nullable=False), - sa.Column("source_type", sa.Integer, default=0), - sa.Column("source_json", sa.Text), - ) - - build_table = sa.Table( - "build", - sa.MetaData(), - sa.Column("id", sa.Integer, nullable=False), - sa.Column("pkgs", sa.Text), - sa.Column("copr_id", sa.Integer), - sa.Column("package_id", sa.Integer), - sa.Column("source_type", sa.Integer, default=0), - sa.Column("source_json", sa.Text), - ) - - for build in connection.execute(build_table.select()): - pkg_name = parse_package_name(os.path.basename(build.pkgs)) - package = connection.execute(package_table.select().where(and_( - package_table.c.name == pkg_name, package_table.c.copr_id == build.copr_id))).first() - if not package: - connection.execute(package_table.insert().values( - name = pkg_name, - copr_id = build.copr_id, - source_type = 0, # no default source - source_json = json.dumps({}))) - package = connection.execute(package_table.select().where(and_( - package_table.c.name == pkg_name, package_table.c.copr_id == build.copr_id))).first() - connection.execute(build_table.update().where(build_table.c.id == build.id).values( - package_id = package.id, - source_type = 1, # srpm url - source_json = json.dumps({"url": build.pkgs}))) - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column(u'build_chroot', 'git_hash') - op.drop_column(u'build', 'source_type') - op.drop_column(u'build', 'source_json') - op.drop_column(u'build', 'package_id') - op.drop_table('package') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/573044986ee9_.py b/frontend/coprs_frontend/alembic/versions/573044986ee9_.py deleted file mode 100644 index fc1f08b..0000000 --- a/frontend/coprs_frontend/alembic/versions/573044986ee9_.py +++ /dev/null @@ -1,30 +0,0 @@ -"""empty message - -Revision ID: 573044986ee9 -Revises: 4b57794e2b5 -Create Date: 2015-11-26 12:36:59.729053 - -""" - -# revision identifiers, used by Alembic. -revision = '573044986ee9' -down_revision = '4b57794e2b5' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('copr', sa.Column('webhook_secret', sa.String(length=100), nullable=True)) - op.add_column('package', sa.Column('enable_net', sa.Boolean(), server_default='0', nullable=False)) - op.add_column('package', sa.Column('webhook_rebuild', sa.Boolean(), nullable=True)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('package', 'webhook_rebuild') - op.drop_column('package', 'enable_net') - op.drop_column('copr', 'webhook_secret') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/57be43049e9b_added_columns_to_buildchroot.py b/frontend/coprs_frontend/alembic/versions/57be43049e9b_added_columns_to_buildchroot.py deleted file mode 100644 index 782612a..0000000 --- a/frontend/coprs_frontend/alembic/versions/57be43049e9b_added_columns_to_buildchroot.py +++ /dev/null @@ -1,57 +0,0 @@ -"""added columns to BuildChroot - -Revision ID: 57be43049e9b -Revises: 552455e5910e -Create Date: 2015-07-09 12:30:57.326992 - -""" - -# revision identifiers, used by Alembic. -revision = '57be43049e9b' -down_revision = '552455e5910e' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - op.add_column(u'build_chroot', sa.Column('ended_on', sa.Integer(), nullable=True)) - op.add_column(u'build_chroot', sa.Column('started_on', sa.Integer(), nullable=True)) - - bind = op.get_bind() - connection = bind.connect() - - m_build_table = sa.Table( - u"build", - sa.MetaData(), - sa.Column("id", sa.Integer, nullable=False), - sa.Column('ended_on', sa.Integer(), nullable=True), - sa.Column('started_on', sa.Integer(), nullable=True), - ) - m_build_chroot_table = sa.Table( - u"build_chroot", - sa.MetaData(), - sa.Column("mock_chroot_id", sa.Integer, nullable=False), - sa.Column("build_id", sa.Integer), - sa.Column('ended_on', sa.Integer(), nullable=True), - sa.Column('started_on', sa.Integer(), nullable=True) - ) - - counter = 0 - for build in connection.execute(m_build_table.select()): - connection.execute( - m_build_chroot_table.update() - .where(m_build_chroot_table.c.build_id == build.id) - .values( - started_on=build.started_on, - ended_on=build.ended_on, - ) - ) - counter += 1 - if counter % 1000 == 0: - print("Processed: {} builds".format(counter)) - - -def downgrade(): - op.drop_column(u'build_chroot', 'started_on') - op.drop_column(u'build_chroot', 'ended_on') diff --git a/frontend/coprs_frontend/alembic/versions/5845661bb37d_foo.py b/frontend/coprs_frontend/alembic/versions/5845661bb37d_foo.py deleted file mode 100644 index f37869f..0000000 --- a/frontend/coprs_frontend/alembic/versions/5845661bb37d_foo.py +++ /dev/null @@ -1,26 +0,0 @@ -"""add playgroung column - -Revision ID: 5845661bb37d -Revises: 498884ac47db -Create Date: 2014-04-04 11:25:36.216132 - -""" - -# revision identifiers, used by Alembic. -revision = '5845661bb37d' -down_revision = '498884ac47db' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('copr', sa.Column('playground', sa.Boolean(), nullable=True)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('copr', 'playground') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/595a31c145fb_initial_db_setup.py b/frontend/coprs_frontend/alembic/versions/595a31c145fb_initial_db_setup.py deleted file mode 100644 index 857e14c..0000000 --- a/frontend/coprs_frontend/alembic/versions/595a31c145fb_initial_db_setup.py +++ /dev/null @@ -1,77 +0,0 @@ -"""Initial DB setup - -Revision ID: 595a31c145fb -Revises: None -Create Date: 2012-11-26 09:39:51.229910 - -""" - -# revision identifiers, used by Alembic. -revision = "595a31c145fb" -down_revision = None - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.create_table("user", - sa.Column("id", sa.Integer(), nullable=False), - sa.Column( - "openid_name", sa.String(length=100), nullable=False), - sa.Column("mail", sa.String(length=150), nullable=False), - sa.Column("proven", sa.Boolean(), nullable=True), - sa.Column("admin", sa.Boolean(), nullable=True), - sa.PrimaryKeyConstraint("id") - ) - op.create_table("copr", - sa.Column("id", sa.Integer(), nullable=False), - sa.Column("name", sa.String(length=100), nullable=False), - sa.Column("chroots", sa.Text(), nullable=False), - sa.Column("repos", sa.Text(), nullable=True), - sa.Column("created_on", sa.Integer(), nullable=True), - sa.Column("build_count", sa.Integer(), nullable=True), - sa.Column("owner_id", sa.Integer(), nullable=True), - sa.ForeignKeyConstraint(["owner_id"], ["user.id"], ), - sa.PrimaryKeyConstraint("id") - ) - op.create_table("build", - sa.Column("id", sa.Integer(), nullable=False), - sa.Column("pkgs", sa.Text(), nullable=True), - sa.Column("canceled", sa.Boolean(), nullable=True), - sa.Column("chroots", sa.Text(), nullable=False), - sa.Column("repos", sa.Text(), nullable=True), - sa.Column("submitted_on", sa.Integer(), nullable=False), - sa.Column("started_on", sa.Integer(), nullable=True), - sa.Column("ended_on", sa.Integer(), nullable=True), - sa.Column("results", sa.Text(), nullable=True), - sa.Column("status", sa.Integer(), nullable=True), - sa.Column("memory_reqs", sa.Integer(), nullable=True), - sa.Column("timeout", sa.Integer(), nullable=True), - sa.Column("user_id", sa.Integer(), nullable=True), - sa.Column("copr_id", sa.Integer(), nullable=True), - sa.ForeignKeyConstraint(["copr_id"], ["copr.id"], ), - sa.ForeignKeyConstraint(["user_id"], ["user.id"], ), - sa.PrimaryKeyConstraint("id") - ) - op.create_table("copr_permission", - sa.Column( - "copr_builder", sa.SmallInteger(), nullable=True), - sa.Column("copr_admin", sa.SmallInteger(), nullable=True), - sa.Column("user_id", sa.Integer(), nullable=False), - sa.Column("copr_id", sa.Integer(), nullable=False), - sa.ForeignKeyConstraint(["copr_id"], ["copr.id"], ), - sa.ForeignKeyConstraint(["user_id"], ["user.id"], ), - sa.PrimaryKeyConstraint("user_id", "copr_id") - ) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_table("copr_permission") - op.drop_table("build") - op.drop_table("copr") - op.drop_table("user") - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/8de41eec1d1_enabling_fedora_25_chroots.py b/frontend/coprs_frontend/alembic/versions/8de41eec1d1_enabling_fedora_25_chroots.py deleted file mode 100644 index 2a99ddf..0000000 --- a/frontend/coprs_frontend/alembic/versions/8de41eec1d1_enabling_fedora_25_chroots.py +++ /dev/null @@ -1,40 +0,0 @@ -"""enabling fedora-25 chroots - -Revision ID: 8de41eec1d1 -Revises: 94975badc43 -Create Date: 2016-09-07 15:41:35.130578 - -""" - -# revision identifiers, used by Alembic. -revision = '8de41eec1d1' -down_revision = '94975badc43' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - bind = op.get_bind() - connection = bind.connect() - - connection.execute( - "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('fedora', '25', 'x86_64', True)" - ) - connection.execute( - "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('fedora', '25', 'i386', True)" - ) - connection.execute( - "INSERT INTO mock_chroot(os_release, os_version, arch, is_active) VALUES ('fedora', '25', 'ppc64le', True)" - ) - connection.close() - - -def downgrade(): - bind = op.get_bind() - connection = bind.connect() - - connection.execute( # there might be already referencing records so just set is_active to False instead of removing - "UPDATE mock_chroot SET is_active=False WHERE os_release = 'fedora' AND os_version = '25'" - ) - connection.close() diff --git a/frontend/coprs_frontend/alembic/versions/94975badc43_fedora_22_chroots_deactivated.py b/frontend/coprs_frontend/alembic/versions/94975badc43_fedora_22_chroots_deactivated.py deleted file mode 100644 index 60457cb..0000000 --- a/frontend/coprs_frontend/alembic/versions/94975badc43_fedora_22_chroots_deactivated.py +++ /dev/null @@ -1,34 +0,0 @@ -"""fedora-22 chroots deactivated - -Revision ID: 94975badc43 -Revises: 1ae2302aa2e6 -Create Date: 2016-09-07 15:00:43.217280 - -""" - -# revision identifiers, used by Alembic. -revision = '94975badc43' -down_revision = '1ae2302aa2e6' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - bind = op.get_bind() - connection = bind.connect() - - connection.execute( - "UPDATE mock_chroot SET is_active=False WHERE os_release = 'fedora' AND os_version='22'" - ) - connection.close() - - -def downgrade(): - bind = op.get_bind() - connection = bind.connect() - - connection.execute( - "UPDATE mock_chroot SET is_active=True WHERE os_release = 'fedora' AND os_version='22'" - ) - connection.close() diff --git a/frontend/coprs_frontend/alembic/versions/bd0a15c7b6f_dont_require_fed_openid.py b/frontend/coprs_frontend/alembic/versions/bd0a15c7b6f_dont_require_fed_openid.py deleted file mode 100644 index d6e121f..0000000 --- a/frontend/coprs_frontend/alembic/versions/bd0a15c7b6f_dont_require_fed_openid.py +++ /dev/null @@ -1,66 +0,0 @@ -"""Do not require Fedora's OpenID in DB schema - -Revision ID: bd0a15c7b6f -Revises: 5055336e8c44 -Create Date: 2014-08-20 21:49:05.299819 - -""" - -# revision identifiers, used by Alembic. -revision = 'bd0a15c7b6f' -down_revision = '5055336e8c44' - -from alembic import op -import sqlalchemy as sa -import logging - -logger = logging.getLogger('alembic') - -metadata = sa.MetaData() - -def username_default(oid_user): - return oid_user.replace(".id.fedoraproject.org/", "") \ - .replace("http://", "") - -def upgrade(): - op.add_column(u'user', sa.Column('username', sa.String(length=100))) - - sa_user = sa.Table("user", metadata, - sa.Column("id", sa.Integer), - sa.Column("openid_name", sa.String(length=100)), - sa.Column("username", sa.String(length=100)) - ) - - for u in op.get_bind().execute(sa.select([sa_user.c.id, sa_user.c.openid_name])): - username = username_default(u[1]) - logger.info("converting {0}'s account".format(username)) - op.get_bind().execute(sa_user.update() \ - .where(sa_user.c.id==u[0]) \ - .values(username=username)) - - if op.get_bind().dialect.name != 'sqlite': - # Pretty sad we can not set this non-nullable in SQLite - op.alter_column("user", "username", nullable=False) - # We can live with redundant openid_name column.. - op.drop_column(u'user', u'openid_name') - - -def downgrade(): - op.add_column(u'user', sa.Column(u'openid_name', sa.VARCHAR(length=100), nullable=True)) - - sa_user = sa.Table("user", metadata, - sa.Column("id", sa.Integer), - sa.Column("openid_name", sa.String(length=100)), - sa.Column("username", sa.String(length=100)) - ) - - for u in op.get_bind().execute(sa.select([sa_user.c.id, sa_user.c.username])): - openid_name = "http://{0}.id.fedoraproject.org/".format(str(u[1])) - op.get_bind().execute(sa_user.update() \ - .where(sa_user.c.id==u[0]) \ - .values(openid_name=openid_name) - ) - - if op.get_bind().dialect.name != 'sqlite': - op.drop_column(u'user', 'username') - op.alter_column("user", "openid_name", nullable=False) diff --git a/frontend/coprs_frontend/alembic/versions/bd0dab2e478_added_column_copr_build_enable_net.py b/frontend/coprs_frontend/alembic/versions/bd0dab2e478_added_column_copr_build_enable_net.py deleted file mode 100644 index c1fd653..0000000 --- a/frontend/coprs_frontend/alembic/versions/bd0dab2e478_added_column_copr_build_enable_net.py +++ /dev/null @@ -1,26 +0,0 @@ -"""added column Copr.build_enable_net - -Revision ID: bd0dab2e478 -Revises: 2df28d2d072f -Create Date: 2015-01-05 11:47:15.291386 - -""" - -# revision identifiers, used by Alembic. -revision = 'bd0dab2e478' -down_revision = '2df28d2d072f' - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column('copr', sa.Column('build_enable_net', sa.Boolean(), server_default='1', nullable=False)) - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.drop_column('copr', 'build_enable_net') - ### end Alembic commands ### diff --git a/frontend/coprs_frontend/alembic/versions/d062c3d9c00_backend_result_to_result.py b/frontend/coprs_frontend/alembic/versions/d062c3d9c00_backend_result_to_result.py deleted file mode 100644 index f335648..0000000 --- a/frontend/coprs_frontend/alembic/versions/d062c3d9c00_backend_result_to_result.py +++ /dev/null @@ -1,29 +0,0 @@ -"""backend_result_to_result - -Revision ID: d062c3d9c00 -Revises: 451e9507b866 -Create Date: 2013-04-03 10:10:35.990681 - -""" - -# revision identifiers, used by Alembic. -revision = "d062c3d9c00" -down_revision = "451e9507b866" - -from alembic import op -import sqlalchemy as sa - - -def upgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column("action", sa.Column("result", sa.Integer(), nullable=True)) - op.drop_column("action", u"backend_result") - ### end Alembic commands ### - - -def downgrade(): - ### commands auto generated by Alembic - please adjust! ### - op.add_column( - "action", sa.Column(u"backend_result", sa.INTEGER(), nullable=True)) - op.drop_column("action", "result") - ### end Alembic commands ###