def downgrade(): load_stored_proc(op, ['update_correlations_addon.sql', 'update_correlations_core.sql', 'update_correlations_module.sql']) op.drop_column(u'correlations_module', 'reason_id') op.drop_column(u'correlations_core', 'reason_id') op.drop_column(u'correlations_addon', 'reason_id')
def upgrade(): load_stored_proc(op, [ 'backfill_named_table.sql', 'update_signature_summary_architecture.sql', 'update_signature_summary_device.sql', 'update_signature_summary_flash_version.sql', 'update_signature_summary_installations.sql', 'update_signature_summary_os.sql', 'update_signature_summary_process_type.sql', 'update_signature_summary_products.sql', 'update_signature_summary_uptime.sql' ]) op.execute(""" DROP FUNCTION IF EXISTS update_signature_summary_devices(date, boolean) """) op.execute(""" DROP FUNCTION IF EXISTS backfill_signature_summary_devices(date, boolean) """) op.execute(""" DROP FUNCTION IF EXISTS backfill_signature_summary_graphics(date, boolean) """) op.execute(""" DROP FUNCTION IF EXISTS update_signature_summary(date, boolean) """) op.execute(""" DROP FUNCTION IF EXISTS backfill_signature_summary(date, boolean) """)
def upgrade(): ### commands auto generated by Alembic - please adjust! ### op.create_table( u'crash_adu_by_build_signature', sa.Column(u'crash_adu_by_build_signature_id', sa.INTEGER(), nullable=False), sa.Column(u'signature_id', sa.INTEGER(), nullable=False), sa.Column(u'signature', citexttype.CitextType(), nullable=False), sa.Column(u'adu_date', sa.DATE(), nullable=False), sa.Column(u'build_date', sa.DATE(), nullable=False), sa.Column(u'buildid', sa.NUMERIC(), server_default='0', nullable=False), sa.Column(u'crash_count', sa.INTEGER(), server_default='0', nullable=False), sa.Column(u'adu_count', sa.INTEGER(), server_default='0', nullable=False), sa.Column(u'os_name', citexttype.CitextType(), nullable=False), sa.Column(u'channel', citexttype.CitextType(), nullable=False), sa.PrimaryKeyConstraint(u'crash_adu_by_build_signature_id')) ### end Alembic commands ### load_stored_proc(op, [ 'backfill_crash_adu_by_build_signature.sql', 'backfill_matviews.sql', 'update_crash_adu_by_build_signature.sql' ]) fix_permissions(op, 'crash_adu_by_build_signature')
def downgrade(): load_stored_proc(op, [ 'backfill_matviews.sql', 'update_correlations_addon.sql', 'update_correlations_core.sql', 'update_correlations_module.sql' ]) op.drop_index('ix_correlations_module_signature_id', table_name='correlations_module') op.drop_index('ix_correlations_module_report_date', table_name='correlations_module') op.drop_table(u'correlations_module') op.drop_index('ix_correlations_addon_signature_id', table_name='correlations_addon') op.drop_index('ix_correlations_addon_report_date', table_name='correlations_addon') op.drop_table(u'correlations_addon') op.drop_index('ix_correlations_core_signature_id', table_name='correlations_core') op.drop_index('ix_correlations_core_report_date', table_name='correlations_core') op.drop_table(u'correlations_core') op.create_table(u'correlation_cores', sa.Column(u'dummy', sa.TEXT(), nullable=False)) op.create_table(u'correlation_modules', sa.Column(u'dummy', sa.TEXT(), nullable=False)) op.create_table(u'correlation_addons', sa.Column(u'dummy', sa.TEXT(), nullable=False)) op.create_table(u'correlations', sa.Column(u'dummy', sa.TEXT(), nullable=False))
def upgrade(): ### commands auto generated by Alembic - please adjust! ### load_stored_proc(op, [ 'update_signature_summary_architecture.sql', 'update_signature_summary_device.sql', 'update_signature_summary_flash_version.sql', 'update_signature_summary_graphics.sql', 'update_signature_summary_installations.sql', 'update_signature_summary_os.sql', 'update_signature_summary_process_type.sql', 'update_signature_summary_products.sql', 'update_signature_summary_uptime.sql', 'find_weekly_partition.sql' ]) # Insert partitioning for device as well op.execute(""" INSERT INTO report_partition_info (table_name, build_order, keys, indexes, fkeys, partition_column, timetype) VALUES ( 'signature_summary_device', '14', '{"signature_id, android_device_id, product_version_id, report_date"}', '{report_date}', '{}', 'report_date', 'DATE' ) """) op.execute(""" UPDATE report_partition_info SET timetype = 'DATE' WHERE table_name = 'missing_symbols' """)
def upgrade(): # Get a list of ALL tables that start with 'processed_crashes' connection = op.get_bind() cursor = connection.connection.cursor() cursor.execute(""" SELECT table_name FROM information_schema.tables WHERE table_name like 'processed_crashes%' """) all_table_names = [] for records in cursor.fetchall(): all_table_names.append(records[0]) # Sort table names so 'processed_crashes' is last since the others depend # on it and delete them in that order all_table_names.sort(reverse=True) for table_name in all_table_names: op.execute('DROP TABLE IF EXISTS {}'.format(table_name)) # Now remove the entry from report_partition_info so the crontabber job # doesn't try to create a new partition op.execute(""" DELETE FROM report_partition_info WHERE table_name = 'processed_crashes' """) # Now update the stored procedure load_stored_proc(op, ['truncate_partitions.sql'])
def downgrade(): ### commands auto generated by Alembic - please adjust! ### load_stored_proc( op, [ "update_signature_summary_architecture.sql", "update_signature_summary_device.sql", "update_signature_summary_flash_version.sql", "update_signature_summary_graphics.sql", "update_signature_summary_installations.sql", "update_signature_summary_os.sql", "update_signature_summary_process_type.sql", "update_signature_summary_products.sql", "update_signature_summary_uptime.sql", ], ) op.execute(""" DROP FUNCTION find_weekly_partition(date, text) """) op.execute(""" delete from report_partition_info where table_name = 'signature_summary_device' """) op.execute( """ UPDATE report_partition_info SET timetype = 'TIMESTAMPTZ' WHERE table_name = 'missing_symbols' """ )
def upgrade(): # Bug 1398200 op.execute('DROP TABLE IF EXISTS plugins') # Bug 1457484 op.execute('DROP TABLE IF EXISTS release_channel_matches') op.execute('DROP TABLE IF EXISTS replication_test') op.execute('DROP TABLE IF EXISTS sessions') op.execute('DROP TABLE IF EXISTS socorro_db_version') op.execute('DROP TABLE IF EXISTS socorro_db_version_history') op.execute('DROP TABLE IF EXISTS transform_rules') op.execute('DROP TABLE IF EXISTS crashes_by_user') op.execute('DROP TABLE IF EXISTS crashes_by_user_build') op.execute('DROP TABLE IF EXISTS uptime_levels') op.execute('DROP TABLE IF EXISTS modules') op.execute('DROP TABLE IF EXISTS crash_types') op.execute('DROP TABLE IF EXISTS process_types') op.execute('DROP TABLE IF EXISTS rank_compare') op.execute('DROP FUNCTION IF EXISTS backfill_rank_compare(date)') op.execute('DROP FUNCTION IF EXISTS update_rank_compare(date, boolean, interval)') # Load the new version of backfill_matviews load_stored_proc(op, ['backfill_matviews.sql']) # Bug 1440474 op.execute('DROP TABLE IF EXISTS android_devices') op.execute('DROP FUNCTION IF EXISTS update_android_devices(date, boolean)') op.execute('DROP FUNCTION IF EXISTS backfill_android_devices(date)')
def downgrade(): op.execute(""" CREATE TABLE suspicious_crash_signatures ( suspicious_crash_signature_id integer NOT NULL, signature_id integer, report_date timestamp with time zone ) """) # This doesn't actually have to be the real function. Just something so the # downgrade works in alembic integration testing in Travis. op.execute(""" CREATE OR REPLACE FUNCTION backfill_explosiveness(updateday date) RETURNS boolean LANGUAGE plpgsql AS $$ BEGIN RETURN TRUE; END; $$; """) op.execute(""" CREATE OR REPLACE FUNCTION update_explosiveness(updateday date) RETURNS boolean LANGUAGE plpgsql AS $$ BEGIN RETURN TRUE; END; $$; """) op.execute('COMMIT') load_stored_proc(op, ['backfill_matviews.sql'])
def upgrade(): # Bug 1398200 op.execute('DROP TABLE IF EXISTS plugins') # Bug 1457484 op.execute('DROP TABLE IF EXISTS release_channel_matches') op.execute('DROP TABLE IF EXISTS replication_test') op.execute('DROP TABLE IF EXISTS sessions') op.execute('DROP TABLE IF EXISTS socorro_db_version') op.execute('DROP TABLE IF EXISTS socorro_db_version_history') op.execute('DROP TABLE IF EXISTS transform_rules') op.execute('DROP TABLE IF EXISTS crashes_by_user') op.execute('DROP TABLE IF EXISTS crashes_by_user_build') op.execute('DROP TABLE IF EXISTS uptime_levels') op.execute('DROP TABLE IF EXISTS modules') op.execute('DROP TABLE IF EXISTS crash_types') op.execute('DROP TABLE IF EXISTS process_types') op.execute('DROP TABLE IF EXISTS rank_compare') op.execute('DROP FUNCTION IF EXISTS backfill_rank_compare(date)') op.execute( 'DROP FUNCTION IF EXISTS update_rank_compare(date, boolean, interval)') # Load the new version of backfill_matviews load_stored_proc(op, ['backfill_matviews.sql']) # Bug 1440474 op.execute('DROP TABLE IF EXISTS android_devices') op.execute('DROP FUNCTION IF EXISTS update_android_devices(date, boolean)') op.execute('DROP FUNCTION IF EXISTS backfill_android_devices(date)')
def upgrade(): # Delete the stored procedures op.execute('DROP FUNCTION IF EXISTS update_signatures(date, boolean)') op.execute('DROP FUNCTION IF EXISTS update_signatures_hourly(timestamp, interval, boolean)') # Load the new version of backfill_matviews load_stored_proc(op, ['backfill_matviews.sql'])
def upgrade(): load_stored_proc(op, [ 'add_new_product.sql', 'edit_product_info.sql', 'reports_clean_weekly_partition.sql', 'update_crash_adu_by_build_signature.sql', 'update_crashes_by_user.sql', 'update_crashes_by_user_build.sql', 'update_home_page_graph.sql', 'update_home_page_graph_build.sql', 'update_nightly_builds.sql', 'update_signatures.sql', 'update_tcbs.sql', '001_reports_clean.sql' ]) op.execute(""" DROP FUNCTION backfill_one_day(date) """) op.execute(""" insert into product_build_types ( SELECT product_name, lower(release_channel)::build_type, throttle FROM product_release_channels ) """) op.execute(""" COMMIT """) today = datetime.datetime.utcnow().strftime('%Y-%m-%d') # Backfill reports_clean so that we don't have inconsistent build_type data op.execute(""" SELECT backfill_reports_clean('%s 00:00:00'::timestamptz, '%s 00:00:00'::timestamptz + '1 day'::interval) """ % (today, today))
def downgrade(): load_stored_proc( op, [ 'update_crashes_by_user_build.sql', 'update_home_page_graph_build.sql', 'update_tcbs_build.sql' ])
def upgrade(): load_stored_proc(op, ['add_new_product.sql', 'edit_product_info.sql', 'reports_clean_weekly_partition.sql', 'update_crash_adu_by_build_signature.sql', 'update_crashes_by_user.sql', 'update_crashes_by_user_build.sql', 'update_home_page_graph.sql', 'update_home_page_graph_build.sql', 'update_nightly_builds.sql', 'update_signatures.sql', 'update_tcbs.sql', '001_reports_clean.sql']) op.execute(""" DROP FUNCTION backfill_one_day(date) """) op.execute(""" insert into product_build_types ( SELECT product_name, lower(release_channel)::build_type, throttle FROM product_release_channels ) """) op.execute(""" COMMIT """) today = datetime.datetime.utcnow().strftime('%Y-%m-%d') # Backfill reports_clean so that we don't have inconsistent build_type data op.execute(""" SELECT backfill_reports_clean('%s 00:00:00'::timestamptz, '%s 00:00:00'::timestamptz + '1 day'::interval) """ % (today, today))
def upgrade(): op.execute( 'TRUNCATE signature_summary_device, signature_summary_graphics CASCADE' ) ### commands auto generated by Alembic - please adjust! ### op.add_column(u'signature_summary_device', sa.Column(u'version_string', sa.TEXT(), nullable=True)) op.add_column(u'signature_summary_device', sa.Column(u'product_name', sa.TEXT(), nullable=True)) op.add_column( u'signature_summary_device', sa.Column(u'product_version_id', sa.INTEGER(), nullable=False)) op.add_column(u'signature_summary_graphics', sa.Column(u'version_string', sa.TEXT(), nullable=True)) op.add_column(u'signature_summary_graphics', sa.Column(u'product_name', sa.TEXT(), nullable=True)) op.add_column( u'signature_summary_graphics', sa.Column(u'product_version_id', sa.INTEGER(), nullable=False)) op.execute( 'ALTER TABLE signature_summary_graphics DROP CONSTRAINT signature_summary_graphics_pkey' ) op.execute( 'ALTER TABLE signature_summary_graphics ADD PRIMARY KEY (report_date, product_version_id, signature_id, graphics_device_id)' ) op.execute( 'ALTER TABLE signature_summary_device DROP CONSTRAINT signature_summary_device_pkey' ) op.execute( 'ALTER TABLE signature_summary_device ADD PRIMARY KEY (report_date, product_version_id, signature_id, android_device_id)' ) ### end Alembic commands ### load_stored_proc(op, [ 'update_signature_summary.sql', ])
def downgrade(): ### commands auto generated by Alembic - please adjust! ### op.drop_column(u'exploitability_reports', u'product_version_id') op.drop_column(u'exploitability_reports', u'product_name') op.drop_column(u'exploitability_reports', u'version_string') load_stored_proc(op, ['update_exploitability.sql']) ### end Alembic commands ###
def downgrade(): ### commands auto generated by Alembic - please adjust! ### op.drop_table(u'adu_by_build') ### end Alembic commands ### load_stored_proc(op, ['backfill_crash_adu_by_build_signature.sql', 'backfill_matviews.sql', 'update_crash_adu_by_build_signature.sql'])
def downgrade(): load_stored_proc(op, ['update_correlations_module.sql']) op.add_column(u'correlations_module', sa.Column('module_version', sa.TEXT(), nullable=False)) op.add_column(u'correlations_module', sa.Column('module_name', sa.TEXT(), nullable=False)) op.drop_column(u'correlations_module', 'module_id') op.drop_table('modules')
def downgrade(): op.drop_column(u'reports_clean', u'update_channel') op.drop_table(u'update_channel_map') op.drop_table(u'raw_update_channels') op.execute(""" DROP FUNCTION backfill_raw_update_channel(timestamptz, timestamptz) """) op.execute(""" DROP FUNCTION update_raw_update_channel(timestamptz, interval, boolean, boolean, text) """) load_stored_proc(op, ['backfill_matviews.sql'])
def downgrade(): ## Note that we truncated the data, so we aren't going to restore it ## The data in this report was incorrect/bad anyway op.drop_column(u'crash_adu_by_build_signature', u'product_name') load_stored_proc(op, [ 'update_crash_adu_by_build_signature.sql', 'backfill_crash_adu_by_build_signature.sql' ])
def downgrade(): load_stored_proc(op, [ 'update_correlations_addon.sql', 'update_correlations_core.sql', 'update_correlations_module.sql' ]) op.drop_column(u'correlations_module', 'reason_id') op.drop_column(u'correlations_core', 'reason_id') op.drop_column(u'correlations_addon', 'reason_id')
def downgrade(): load_stored_proc(op, [ 'create_weekly_partition.sql', 'nonzero_string.sql', 'reports_clean_weekly_partition.sql', 'pg_stat_statements.sql', 'pg_stat_statements_reset.sql', ])
def upgrade(): load_stored_proc(op, ['update_correlations_addon.sql', 'update_correlations_core.sql', 'update_correlations_module.sql']) op.execute(""" TRUNCATE correlations_addon, correlations_core, correlations_module""") op.add_column(u'correlations_addon', sa.Column('reason_id', sa.INTEGER(), nullable=False)) op.add_column(u'correlations_core', sa.Column('reason_id', sa.INTEGER(), nullable=False)) op.add_column(u'correlations_module', sa.Column('reason_id', sa.INTEGER(), nullable=False))
def downgrade(): ### commands auto generated by Alembic - please adjust! ### op.drop_table(u'adu_by_build') ### end Alembic commands ### load_stored_proc(op, [ 'backfill_crash_adu_by_build_signature.sql', 'backfill_matviews.sql', 'update_crash_adu_by_build_signature.sql' ])
def upgrade(): # Delete the stored procedures op.execute('DROP FUNCTION IF EXISTS update_signatures(date, boolean)') op.execute( 'DROP FUNCTION IF EXISTS update_signatures_hourly(timestamp, interval, boolean)' ) # Load the new version of backfill_matviews load_stored_proc(op, ['backfill_matviews.sql'])
def downgrade(): load_stored_proc(op, ['backfill_matviews.sql']) op.execute(""" DROP FUNCTION update_gccrashes(date, boolean, interval) """) op.execute(""" DROP FUNCTION backfill_gccrashes(date, boolean, interval) """) op.drop_table(u'gccrashes')
def upgrade(): op.execute( 'DROP FUNCTION update_gccrashes(date, boolean, interval)' ) op.execute( 'DROP FUNCTION backfill_gccrashes(date, interval)' ) op.execute('DROP TABLE IF EXISTS gccrashes') load_stored_proc(op, ['backfill_matviews.sql'])
def upgrade(): op.execute(""" UPDATE product_versions SET sunset_date = NOW() WHERE product_name = 'MetroFirefox' AND sunset_date >= NOW() """) load_stored_proc(op, ['update_product_versions.sql'])
def upgrade(): load_stored_proc(op, [ 'create_weekly_partition.sql', 'nonzero_string.sql', 'reports_clean_weekly_partition.sql', ]) op.execute('DROP VIEW IF EXISTS pg_stat_statements') op.execute('DROP FUNCTION IF EXISTS pg_stat_statements()') op.execute('DROP FUNCTION IF EXISTS pg_stat_statements_reset()')
def upgrade(): load_stored_proc(op, ["update_gccrashes.sql", "backfill_gccrashes.sql", "backfill_matviews.sql"]) op.create_table( u"gccrashes", sa.Column(u"report_date", postgresql.TIMESTAMP(timezone=True), nullable=False), sa.Column(u"product_version_id", postgresql.INTEGER(), nullable=False), sa.Column(u"build", sa.NUMERIC(), nullable=True), sa.Column(u"is_gc_count", sa.INTEGER(), nullable=False), ) fix_permissions(op, "gccrashes")
def upgrade(): load_stored_proc(op, ['crash_madu.sql', 'update_gccrashes.sql']) op.execute(""" TRUNCATE gccrashes """) op.alter_column(u'gccrashes', u'is_gc_count', new_column_name=u'gc_count_madu', type_=sa.REAL()) now = datetime.datetime.utcnow() for backfill_date in [ (now - datetime.timedelta(days=days)).strftime("%Y-%m-%d") for days in range(1,30)]: op.execute(""" SELECT backfill_gccrashes('%s') """ % backfill_date) op.execute(""" COMMIT """)
def upgrade(): # updated documentation for update_product_versions load_stored_proc(op, ['update_product_versions.sql']) # insert new fennec repos into special_product_platforms op.execute(""" INSERT INTO special_product_platforms (platform, repository, release_channel, release_name, product_name, min_version) VALUES ('android-arm', 'mozilla-central-android-api-11', 'nightly', 'mobile', 'FennecAndroid', '37.0'), ('android-arm', 'mozilla-aurora-android-api-11', 'aurora', 'mobile', 'FennecAndroid', '37.0') """)
def upgrade(): op.create_table( u'raw_update_channels', sa.Column(u'update_channel', sa.TEXT(), nullable=False), sa.Column(u'product_name', sa.TEXT(), nullable=False), sa.Column(u'version', sa.TEXT(), nullable=False), sa.Column(u'build', sa.NUMERIC(), nullable=False), sa.Column(u'first_report', postgresql.TIMESTAMP(timezone=True), nullable=False), sa.PrimaryKeyConstraint(u'update_channel', u'product_name', u'version', u'build')) fix_permissions(op, 'raw_update_channels') op.create_table( u'update_channel_map', sa.Column(u'update_channel', sa.TEXT(), nullable=False), sa.Column(u'productid', sa.TEXT(), nullable=False), sa.Column(u'version_field', sa.TEXT(), nullable=False), sa.Column(u'rewrite', jsontype.JsonType(), nullable=False), sa.PrimaryKeyConstraint(u'update_channel', u'productid', u'version_field')) fix_permissions(op, 'update_channel_map') op.execute(""" INSERT INTO update_channel_map (update_channel, productid, version_field, rewrite) VALUES ('nightly', '{3c2e2abc-06d4-11e1-ac3b-374f68613e61}', 'B2G_OS_Version', '{"Android_Manufacturer": "ZTE", "Android_Model": "roamer2", "Android_Version": "15(REL)", "B2G_OS_Version": "1.0.1.0-prerelease", "BuildID": ["20130621133927", "20130621152332", "20130531232151", "20130617105829", "20130724040538"], "ProductName": "B2G", "ReleaseChannel": "nightly", "Version": "18.0", "rewrite_to": "release-zte"}' ) """) # nothing depends on this yet in stored procs op.add_column(u'reports_clean', sa.Column(u'update_channel', sa.TEXT(), nullable=True)) load_stored_proc(op, [ 'update_raw_update_channel.sql', 'backfill_raw_update_channel.sql', 'backfill_matviews.sql' ])
def downgrade(): load_stored_proc(op, [ 'add_new_product.sql', 'backfill_one_day.sql', 'edit_product_info.sql', 'reports_clean_weekly_partition.sql', 'update_crash_adu_by_build_signature.sql', 'update_crashes_by_user.sql', 'update_crashes_by_user_build.sql', 'update_home_page_graph.sql', 'update_home_page_graph_build.sql', 'update_nightly_builds.sql', 'update_signatures.sql', 'update_tcbs.sql', '001_reports_clean.sql' ]) op.execute(""" delete from product_build_types """)
def upgrade(): load_stored_proc(op, ['update_correlations_module.sql']) op.execute(""" TRUNCATE correlations_module """) op.create_table('modules', sa.Column('module_id', sa.INTEGER(), nullable=False), sa.Column('name', sa.TEXT(), nullable=False), sa.Column('version', sa.TEXT(), nullable=False), sa.PrimaryKeyConstraint('module_id', 'name', 'version') ) op.add_column(u'correlations_module', sa.Column('module_id', sa.INTEGER(), nullable=False)) op.drop_column(u'correlations_module', 'module_name') op.drop_column(u'correlations_module', 'module_version')
def upgrade(): load_stored_proc(op, ['update_correlations_module.sql']) op.execute(""" TRUNCATE correlations_module """) op.create_table('modules', sa.Column('module_id', sa.INTEGER(), nullable=False), sa.Column('name', sa.TEXT(), nullable=False), sa.Column('version', sa.TEXT(), nullable=False), sa.PrimaryKeyConstraint('module_id', 'name', 'version')) op.add_column(u'correlations_module', sa.Column('module_id', sa.INTEGER(), nullable=False)) op.drop_column(u'correlations_module', 'module_name') op.drop_column(u'correlations_module', 'module_version')
def downgrade(): op.drop_column(u'reports_clean', u'update_channel') op.drop_table(u'update_channel_map') op.drop_table(u'raw_update_channels') op.execute( """ DROP FUNCTION backfill_raw_update_channel(timestamptz, timestamptz) """ ) op.execute( """ DROP FUNCTION update_raw_update_channel(timestamptz, interval, boolean, boolean, text) """ ) load_stored_proc(op, ['backfill_matviews.sql'])
def upgrade(): load_stored_proc(op, ['update_exploitability.sql']) # Rid ourselves of incorrect data op.execute(""" TRUNCATE exploitability_reports """) op.execute(""" COMMIT """) today = datetime.datetime.utcnow().strftime('%Y-%m-%d') # Backfill! for i in range(0, 7): op.execute(""" select backfill_exploitability(('%s'::date - '%s days'::interval)::date) """ % (today, i)) op.execute(""" COMMIT """)
def upgrade(): op.execute(""" DROP TABLE suspicious_crash_signatures """) op.execute(""" DROP FUNCTION IF EXISTS backfill_explosiveness (date) """) op.execute(""" DROP FUNCTION IF EXISTS update_explosiveness (date, boolean, interval) """) op.execute('COMMIT') load_stored_proc(op, ['backfill_matviews.sql'])
def downgrade(): load_stored_proc(op, ["backfill_matviews.sql"]) op.execute( """ DROP FUNCTION update_gccrashes(date, boolean, interval) """ ) op.execute( """ DROP FUNCTION backfill_gccrashes(date, boolean, interval) """ ) op.drop_table(u"gccrashes")
def upgrade(): op.execute(""" DROP TABLE IF EXISTS crash_adu_by_build_signature """) op.execute(""" DROP FUNCTION IF EXISTS update_crash_adu_by_build_signature(date, boolean) """) op.execute(""" DROP FUNCTION IF EXISTS backfill_crash_adu_by_build_signature(date) """) load_stored_proc(op, ['backfill_matviews.sql'])
def upgrade(): load_stored_proc(op, [ 'update_correlations_addon.sql', 'update_correlations_core.sql', 'update_correlations_module.sql' ]) op.execute( """ TRUNCATE correlations_addon, correlations_core, correlations_module""" ) op.add_column(u'correlations_addon', sa.Column('reason_id', sa.INTEGER(), nullable=False)) op.add_column(u'correlations_core', sa.Column('reason_id', sa.INTEGER(), nullable=False)) op.add_column(u'correlations_module', sa.Column('reason_id', sa.INTEGER(), nullable=False))
def upgrade(): load_stored_proc(op, ['update_crash_adu_by_build_signature.sql']) op.execute(""" TRUNCATE crash_adu_by_build_signature """) today = datetime.datetime.utcnow().strftime('%Y-%m-%d') for i in range(0, 7): op.execute(""" SELECT backfill_crash_adu_by_build_signature( ('%s'::date - '%s days'::interval)::date ) """ % (today, i))
def upgrade(): load_stored_proc(op, ['update_exploitability.sql']) # Rid ourselves of incorrect data op.execute(""" TRUNCATE exploitability_reports """) op.execute(""" COMMIT """) today = datetime.datetime.utcnow().strftime('%Y-%m-%d') # Backfill! for i in range(0, 7): op.execute( """ select backfill_exploitability(('%s'::date - '%s days'::interval)::date) """ % (today, i)) op.execute(""" COMMIT """)
def upgrade(): load_stored_proc(op, ['update_crash_adu_by_build_signature.sql']) op.execute(""" TRUNCATE crash_adu_by_build_signature """) today = datetime.datetime.utcnow().strftime('%Y-%m-%d') for i in range(0,7): op.execute(""" SELECT backfill_crash_adu_by_build_signature( ('%s'::date - '%s days'::interval)::date ) """ % (today, i))
def upgrade(): op.execute('TRUNCATE signature_summary_device, signature_summary_graphics CASCADE') ### commands auto generated by Alembic - please adjust! ### op.add_column(u'signature_summary_device', sa.Column(u'version_string', sa.TEXT(), nullable=True)) op.add_column(u'signature_summary_device', sa.Column(u'product_name', sa.TEXT(), nullable=True)) op.add_column(u'signature_summary_device', sa.Column(u'product_version_id', sa.INTEGER(), nullable=False)) op.add_column(u'signature_summary_graphics', sa.Column(u'version_string', sa.TEXT(), nullable=True)) op.add_column(u'signature_summary_graphics', sa.Column(u'product_name', sa.TEXT(), nullable=True)) op.add_column(u'signature_summary_graphics', sa.Column(u'product_version_id', sa.INTEGER(), nullable=False)) op.execute('ALTER TABLE signature_summary_graphics DROP CONSTRAINT signature_summary_graphics_pkey') op.execute('ALTER TABLE signature_summary_graphics ADD PRIMARY KEY (report_date, product_version_id, signature_id, graphics_device_id)') op.execute('ALTER TABLE signature_summary_device DROP CONSTRAINT signature_summary_device_pkey') op.execute('ALTER TABLE signature_summary_device ADD PRIMARY KEY (report_date, product_version_id, signature_id, android_device_id)') ### end Alembic commands ### load_stored_proc(op, ['update_signature_summary.sql',])
def upgrade(): ### commands auto generated by Alembic - please adjust! ### op.execute('TRUNCATE exploitability_reports CASCADE'); op.add_column(u'exploitability_reports', sa.Column(u'version_string', sa.TEXT(), nullable=True)) op.add_column(u'exploitability_reports', sa.Column(u'product_name', sa.TEXT(), nullable=True)) op.add_column(u'exploitability_reports', sa.Column(u'product_version_id', sa.INTEGER(), nullable=False)) ### end Alembic commands ### load_stored_proc(op, ['update_exploitability.sql']) for i in range(15, 30): backfill_date = '2013-11-%s' % i op.execute(""" SELECT backfill_exploitability('%s') """ % backfill_date) op.execute(""" COMMIT """)
def downgrade(): op.drop_column(u'tcbs_build', 'build_type') op.drop_column(u'tcbs', 'build_type') op.drop_column(u'special_product_platforms', 'build_type') op.drop_column(u'reports_clean', 'build_type') op.drop_column(u'reports', u'update_channel') op.drop_column(u'releases_raw', u'update_channel') op.drop_column(u'raw_adu', u'update_channel') op.drop_column(u'product_versions', 'build_type_enum') op.drop_table(u'product_build_types') op.execute(""" DROP TYPE build_type """) op.execute(""" DROP TYPE build_type_enum """) load_stored_proc(op, ['001_update_reports_clean.sql'])
def upgrade(): op.create_table(u'raw_update_channels', sa.Column(u'update_channel', sa.TEXT(), nullable=False), sa.Column(u'product_name', sa.TEXT(), nullable=False), sa.Column(u'version', sa.TEXT(), nullable=False), sa.Column(u'build', sa.NUMERIC(), nullable=False), sa.Column(u'first_report', postgresql.TIMESTAMP(timezone=True), nullable=False), sa.PrimaryKeyConstraint(u'update_channel', u'product_name', u'version', u'build') ) fix_permissions(op, 'raw_update_channels') op.create_table(u'update_channel_map', sa.Column(u'update_channel', sa.TEXT(), nullable=False), sa.Column(u'productid', sa.TEXT(), nullable=False), sa.Column(u'version_field', sa.TEXT(), nullable=False), sa.Column(u'rewrite', jsontype.JsonType(), nullable=False), sa.PrimaryKeyConstraint(u'update_channel', u'productid', u'version_field') ) fix_permissions(op, 'update_channel_map') op.execute(""" INSERT INTO update_channel_map (update_channel, productid, version_field, rewrite) VALUES ('nightly', '{3c2e2abc-06d4-11e1-ac3b-374f68613e61}', 'B2G_OS_Version', '{"Android_Manufacturer": "ZTE", "Android_Model": "roamer2", "Android_Version": "15(REL)", "B2G_OS_Version": "1.0.1.0-prerelease", "BuildID": ["20130621133927", "20130621152332", "20130531232151", "20130617105829", "20130724040538"], "ProductName": "B2G", "ReleaseChannel": "nightly", "Version": "18.0", "rewrite_to": "release-zte"}' ) """) # nothing depends on this yet in stored procs op.add_column(u'reports_clean', sa.Column(u'update_channel', sa.TEXT(), nullable=True)) load_stored_proc(op, ['update_raw_update_channel.sql', 'backfill_raw_update_channel.sql', 'backfill_matviews.sql'])
def downgrade(): load_stored_proc(op, ['add_new_product.sql', 'backfill_one_day.sql', 'edit_product_info.sql', 'reports_clean_weekly_partition.sql', 'update_crash_adu_by_build_signature.sql', 'update_crashes_by_user.sql', 'update_crashes_by_user_build.sql', 'update_home_page_graph.sql', 'update_home_page_graph_build.sql', 'update_nightly_builds.sql', 'update_signatures.sql', 'update_tcbs.sql', '001_reports_clean.sql']) op.execute(""" delete from product_build_types """)