class Migration(migrations.Migration): dependencies = [] operations = [ HqRunSQL('CREATE EXTENSION IF NOT EXISTS plproxy', 'DROP EXTENSION plproxy'), HqRunSQL('CREATE EXTENSION IF NOT EXISTS hashlib', 'DROP EXTENSION hashlib'), create_update_pl_proxy_config(), migrator.get_migration('archive_unarchive_form.sql'), migrator.get_migration('check_form_exists.sql'), migrator.get_migration('get_case_attachments.sql'), migrator.get_migration('get_case_by_id.sql'), migrator.get_migration('get_case_by_location_id.sql'), migrator.get_migration('get_case_transactions.sql'), migrator.get_migration('get_cases_by_id.sql'), migrator.get_migration('get_form_attachment_by_name.sql'), migrator.get_migration('get_form_attachments.sql'), migrator.get_migration('get_form_operations.sql'), migrator.get_migration('get_forms_by_id.sql'), migrator.get_migration('get_forms_by_state.sql'), migrator.get_migration('get_multiple_cases_indices.sql'), migrator.get_migration('get_multiple_forms_attachments.sql'), migrator.get_migration('hard_delete_cases.sql'), migrator.get_migration( 'revoke_restore_case_transactions_for_form.sql'), migrator.get_migration('update_form_problem_and_state.sql'), ]
class Migration(migrations.Migration): dependencies = [ ('phonelog', '0006_usererrorentry_context_node'), ] operations = [ migrations.AlterField( model_name='devicereportentry', name='date', field=models.DateTimeField(), preserve_default=True, ), migrations.AlterField( model_name='devicereportentry', name='type', field=models.CharField(max_length=32), preserve_default=True, ), AlterIndexIfNotExists( name='devicereportentry', index_together=set([('domain', 'device_id'), ('domain', 'date'), ('domain', 'type'), ('domain', 'username')]), ), # cleanup other index seen locally or on prod HqRunSQL("DROP INDEX IF EXISTS phonelog_devicereportentry_type", "SELECT 1"), HqRunSQL("DROP INDEX IF EXISTS phonelog_devicereportentry_date", "SELECT 1"), HqRunSQL( "DROP INDEX IF EXISTS phonelog_devicereportentry_xform_id_13bf0bbf30cb3e80_like", "SELECT 1"), ]
class Migration(migrations.Migration): dependencies = [ ('form_processor', '0034_location_id_index'), ] NOOP_REVERSE = 'SELECT 1' operations = [ HqRunSQL( 'DROP INDEX IF EXISTS form_processor_caseattachmentsql_attachment_uuid_8d145664_like', NOOP_REVERSE ), HqRunSQL( 'DROP INDEX IF EXISTS form_processor_xforminstancesql_form_uuid_12662b9ceadeeecc_like', NOOP_REVERSE ), HqRunSQL( 'DROP INDEX IF EXISTS form_processor_xformattachmentsql_attachment_uuid_51177a7e_like', NOOP_REVERSE, ), HqRunSQL( 'DROP INDEX IF EXISTS form_processor_xformattachmentsql_name_4b9f1b0d840a70bc_like', NOOP_REVERSE ), HqRunSQL( 'DROP INDEX IF EXISTS form_processor_xformoperationsql_xform_id_14e64e95f71c3764_like', NOOP_REVERSE ), ]
class Migration(migrations.Migration): dependencies = [ ('form_processor', '0059_remove_ledgervalue_location_id'), ] operations = [ # The other way to convert a field to a foreign key involves creating a new column # doing a data migration and then dropping the old column which seemed ridiculous to me HqRunSQL( 'ALTER TABLE "form_processor_ledgervalue" ' 'ADD CONSTRAINT "cd40c15ceaad5d793e09d0b69eb4ed88" FOREIGN KEY ("case_id") ' 'REFERENCES "form_processor_commcarecasesql" ("case_id") DEFERRABLE INITIALLY DEFERRED', "ALTER TABLE form_processor_ledgervalue DROP CONSTRAINT cd40c15ceaad5d793e09d0b69eb4ed88;", state_operations=[ migrations.RemoveField( model_name='ledgervalue', name='case_id', ), migrations.AddField( model_name='ledgervalue', name='case', field=models.ForeignKey( to='form_processor.CommCareCaseSQL', to_field=b'case_id', db_index=False), preserve_default=False, ), migrations.AlterUniqueTogether( name='ledgervalue', unique_together=set([('case', 'section_id', 'entry_id')]), ), ]), HqRunSQL( 'ALTER TABLE "form_processor_ledgertransaction" ' 'ADD CONSTRAINT "D35e6052ba235dcd116c9c37ba096e19" FOREIGN KEY ("case_id") ' 'REFERENCES "form_processor_commcarecasesql" ("case_id") DEFERRABLE INITIALLY DEFERRED;', "ALTER TABLE form_processor_ledgertransaction DROP CONSTRAINT D35e6052ba235dcd116c9c37ba096e19;", state_operations=[ migrations.AddField( model_name='ledgertransaction', name='case', field=models.ForeignKey( default='__none__', to='form_processor.CommCareCaseSQL', to_field=b'case_id', db_index=False), preserve_default=False, ), migrations.AlterIndexTogether( name='ledgertransaction', index_together=set([('case', 'section_id', 'entry_id')]), ), migrations.RemoveField( model_name='ledgertransaction', name='case_id', ), ]), ]
class Migration(migrations.Migration): dependencies = [ ('form_processor', '0053_add_deletion_fields'), ] operations = [ migrations.CreateModel( name='LedgerTransaction', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('form_id', models.CharField(max_length=255)), ('server_date', models.DateTimeField()), ('report_date', models.DateTimeField()), ('type', models.PositiveSmallIntegerField( choices=[(1, b'balance'), (2, b'transfer')])), ('case_id', models.CharField(default=None, max_length=255)), ('entry_id', models.CharField(default=None, max_length=100)), ('section_id', models.CharField(default=None, max_length=100)), ('user_defined_type', corehq.form_processor.models.TruncatingCharField( max_length=20, null=True, blank=True)), ('delta', models.IntegerField(default=0)), ('updated_balance', models.IntegerField(default=0)), ], options={ 'db_table': 'form_processor_ledgertransaction', }, bases=(models.Model, ), ), migrations.AlterField( model_name='ledgertransaction', name='case_id', field=models.CharField(default=None, max_length=255, db_index=True), preserve_default=True, ), migrations.AlterIndexTogether( name='ledgertransaction', index_together=set([('case_id', 'entry_id', 'section_id')]), ), # drop unused indexes HqRunSQL( "DROP INDEX IF EXISTS form_processor_ledgervalue_case_id_6787b84005e3c4e0_like", "SELECT 1"), HqRunSQL( "DROP INDEX IF EXISTS form_processor_ledgervalue_entry_id_7ba5b60783fc16d1_like", "SELECT 1"), HqRunSQL( "DROP INDEX IF EXISTS form_processor_ledgervalue_section_id_7e237eaaa0c800ea_like", "SELECT 1") ]
class Migration(migrations.Migration): dependencies = [ ('form_processor', '0056_last_modified_form_id'), ] operations = [ migrations.AddField( model_name='ledgervalue', name='domain', field=models.CharField(default=None, null=True, max_length=255), preserve_default=True, ), migrations.AddField( model_name='ledgervalue', name='location_id', field=models.CharField(default=None, max_length=255, null=True), preserve_default=True, ), migrations.AlterField( model_name='ledgervalue', name='last_modified_form_id', field=models.CharField(default=None, max_length=100, null=True), preserve_default=True, ), HqRunSQL( """ UPDATE form_processor_ledgervalue SET domain = ( SELECT domain FROM form_processor_commcarecasesql WHERE case_id=form_processor_ledgervalue.case_id ) """, "SELECT 1" ), HqRunSQL( """ UPDATE form_processor_ledgervalue SET location_id = ( SELECT location_id FROM form_processor_commcarecasesql WHERE case_id=form_processor_ledgervalue.case_id ) """, "SELECT 1" ), migrations.AlterField( model_name='ledgervalue', name='domain', field=models.CharField(default=None, null=False, max_length=255), preserve_default=True, ), ]
class Migration(migrations.Migration): dependencies = [ ('sql_proxy_accessors', '0037_remove_get_extension_case_ids'), ] operations = [ HqRunSQL("""DROP FUNCTION IF EXISTS save_ledger_values( TEXT, form_processor_ledgervalue, form_processor_ledgertransaction[], TEXT )"""), HqRunSQL("DROP FUNCTION IF EXISTS hard_delete_forms(TEXT, TEXT[])") ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0052_save_ledgers_fix'), ] operations = [ HqRunSQL("""DROP FUNCTION IF EXISTS save_ledger_values( TEXT, form_processor_ledgervalue, form_processor_ledgertransaction[], TEXT )"""), HqRunSQL("DROP FUNCTION IF EXISTS hard_delete_forms(TEXT, TEXT[])") ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0029_get_case_ids_in_domain'), ] operations = [ HqRunSQL("DROP FUNCTION IF EXISTS get_case_indices_reverse(TEXT);", "SELECT 1"), HqRunSQL("DROP FUNCTION IF EXISTS get_case_indices(TEXT);", "SELECT 1"), migrator.get_migration('get_case_indices_1.sql'), ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0028_rename_get_multiple_forms_attachments'), ] operations = [ HqRunSQL("DROP FUNCTION IF EXISTS get_case_ids_in_domain(TEXT, TEXT)", "SELECT 1"), HqRunSQL( "DROP FUNCTION IF EXISTS get_case_ids_in_domain_by_owners(text, text[], boolean)", "SELECT 1") ]
class Migration(migrations.Migration): dependencies = [ ('sql_proxy_accessors', '0027_add_undelete_functions'), ] operations = [ HqRunSQL( "DROP FUNCTION IF EXISTS get_case_ids_in_domain(TEXT, TEXT, TEXT[], BOOLEAN)", "SELECT 1"), migrator.get_migration('get_case_ids_in_domain_2.sql'), HqRunSQL( "DROP FUNCTION IF EXISTS get_deleted_case_ids_by_owner(TEXT, TEXT)", "SELECT 1") ]
class Migration(migrations.Migration): dependencies = [ ('sql_proxy_accessors', '0008_get_case_types_for_domain'), ] operations = [ migrator.get_migration('soft_delete_cases.sql'), migrator.get_migration('soft_delete_forms.sql'), migrator.get_migration('get_form_ids_for_user.sql'), HqRunSQL("DROP FUNCTION IF EXISTS update_form_state(TEXT, INTEGER)", "SELECT 1"), HqRunSQL( "DROP FUNCTION IF EXISTS get_forms_by_user_id(TEXT, TEXT, INTEGER);", "SELECT 1") ]
class Migration(migrations.Migration): dependencies = [ ('warehouse', '0016_readd_batch_key'), ] operations = [ migrations.RemoveField( model_name='userdim', name='domain', ), migrations.AlterField( model_name='userstagingtable', name='domain', field=models.CharField(blank=True, max_length=100, null=True), ), HqRunSQL(""" ALTER TABLE warehouse_userstagingtable ADD CONSTRAINT domain_conditional_null CHECK ((doc_type = 'WebUser' and domain IS NULL) OR (doc_type = 'CommCareUser' and domain is NOT NULL)) """, reverse_sql=""" ALTER TABLE warehouse_userstagingtable DROP CONSTRAINT IF EXISTS domain_conditional_null; """), ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0053_drop_unused_sql'), ] operations = [ HqRunSQL( "DROP FUNCTION IF EXISTS get_all_cases_modified_since(timestamp with time zone, INTEGER, INTEGER)" ), HqRunSQL( "DROP FUNCTION IF EXISTS get_all_forms_received_since(timestamp with time zone, INTEGER, INTEGER)" ), HqRunSQL( "DROP FUNCTION IF EXISTS get_all_ledger_values_modified_since(timestamp with time zone, INTEGER, INTEGER)" ), ]
class Migration(migrations.Migration): dependencies = [ ('form_processor', '0034_location_id_index'), ] NOOP_REVERSE = 'SELECT 1' operations = [ # TODO - remove when django>=1.9 HqRunSQL( 'DROP INDEX IF EXISTS form_processor_caseattach_attachment_uuid_4c1d2c3ea75567cc_like', NOOP_REVERSE), HqRunSQL( 'DROP INDEX IF EXISTS form_processor_caseattachmentsql_attachment_uuid_8d145664_like', NOOP_REVERSE), HqRunSQL( 'DROP INDEX IF EXISTS form_processor_xforminstancesql_form_uuid_12662b9ceadeeecc_like', NOOP_REVERSE), # TODO - remove when django>=1.9 HqRunSQL( 'DROP INDEX IF EXISTS form_processor_xformattac_attachment_uuid_6d1d0a1eff4ada21_like', NOOP_REVERSE), HqRunSQL( 'DROP INDEX IF EXISTS form_processor_xformattachmentsql_attachment_uuid_51177a7e_like', NOOP_REVERSE, ), HqRunSQL( 'DROP INDEX IF EXISTS form_processor_xformattachmentsql_name_4b9f1b0d840a70bc_like', NOOP_REVERSE), HqRunSQL( 'DROP INDEX IF EXISTS form_processor_xformoperationsql_xform_id_14e64e95f71c3764_like', NOOP_REVERSE), ]
class Migration(migrations.Migration): dependencies = [ ('sql_proxy_accessors', '0031_write_blob_bucket'), ] operations = [ HqRunSQL("DROP FUNCTION IF EXISTS get_case_types_for_domain(TEXT)") ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0035_add_undelete_functions'), ] operations = [ migrator.get_migration('get_case_by_location_id_1.sql'), HqRunSQL( "DROP FUNCTION IF EXISTS get_case_ids_in_domain(TEXT, TEXT, TEXT[], BOOLEAN)", "SELECT 1"), migrator.get_migration('get_case_ids_in_domain_2.sql'), migrator.get_migration('get_case_ids_modified_with_owner_since_1.sql'), migrator.get_migration('get_case_by_external_id_1.sql'), HqRunSQL( "DROP FUNCTION IF EXISTS get_deleted_case_ids_by_owner(TEXT, TEXT)", "SELECT 1") ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0043_faster_get_reverse_indexed_cases'), ] operations = [ HqRunSQL("DROP FUNCTION IF EXISTS get_case_types_for_domain(TEXT)") ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0057_filter_get_reverse_indexed_cases'), ] operations = [ HqRunSQL("DROP FUNCTION IF EXISTS get_reverse_indexed_cases(TEXT, TEXT[]);"), ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0049_remove_save_case'), ] operations = [ HqRunSQL("DROP FUNCTION IF EXISTS get_extension_case_ids(text, text[])") ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0044_remove_get_case_types_for_domain'), ] operations = [ HqRunSQL("DROP FUNCTION IF EXISTS case_modified_since(TEXT, TIMESTAMP)") ]
class Migration(migrations.Migration): dependencies = [ ('phonelog', '0010_rename_device_model'), ] operations = [ migrations.CreateModel( name='DeviceReportEntry', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('xform_id', models.CharField(db_index=True, max_length=50)), ('i', models.IntegerField()), ('msg', models.TextField()), ('type', models.CharField(max_length=32)), ('date', models.DateTimeField()), ('server_date', models.DateTimeField(db_index=True, null=True)), ('domain', models.CharField(max_length=100)), ('device_id', models.CharField(max_length=50, null=True)), ('app_version', models.TextField(null=True)), ('username', models.CharField(max_length=100, null=True)), ('user_id', models.CharField(max_length=50, null=True)), ], options={ 'db_table': 'phonelog_daily_partitioned_devicereportentry', }, ), migrations.AlterUniqueTogether( name='devicereportentry', unique_together=set([('xform_id', 'i')]), ), migrations.AlterIndexTogether( name='devicereportentry', index_together=set([('domain', 'device_id'), ('domain', 'date'), ('domain', 'type'), ('domain', 'username')]), ), HqRunSQL( add_if_not_exists_raw( """ CREATE INDEX devicereportentry_domain_device_id_pattern_ops ON phonelog_daily_partitioned_devicereportentry (domain, device_id varchar_pattern_ops) """, name= 'phonelog_daily_partitioned_devicereportentry_domain_device_id_pattern_ops' ), reverse_sql=""" DROP INDEX IF EXISTS devicereportentry_domain_device_id_pattern_ops """, ), HqRunPython(add_partitions), ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0055_set_form_modified_on'), ] operations = [ HqRunSQL('CREATE EXTENSION IF NOT EXISTS hashlib', 'DROP EXTENSION hashlib'), ]
class Migration(migrations.Migration): dependencies = [ ('sql_proxy_accessors', '0017_soft_delete_cases'), ] operations = [ HqRunSQL("DROP FUNCTION IF EXISTS get_ledger_values_for_case(TEXT)", "SELECT 1"), migrator.get_migration('get_ledger_values_for_cases.sql'), ]
def create_update_pl_proxy_config(): if not (settings.UNIT_TESTING and settings.USE_PARTITIONED_DATABASE): return noop_migration() drop_server_sql = get_drop_server_sql() sql_statements = [ get_pl_proxy_server_config_sql(partition_config.get_shards()), get_user_mapping_sql() ] return HqRunSQL('\n'.join(sql_statements), drop_server_sql)
class Migration(migrations.Migration): dependencies = [ ('sql_proxy_accessors', '0025_index_changes'), ] operations = [ HqRunSQL( "DROP FUNCTION IF EXISTS get_ledger_values_for_product_ids(TEXT[])", "SELECT 1"), ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0039_update_reindex_queries'), ] operations = [ HqRunSQL( "DROP FUNCTION IF EXISTS get_all_cases_modified_since(timestamp with time zone, integer)", "SELECT 1"), ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0024_update_save_ledger_values'), ] operations = [ HqRunSQL("DROP FUNCTION IF EXISTS get_ledger_values_for_cases(TEXT[])", "SELECT 1"), migrator.get_migration('get_ledger_values_for_cases.sql'), ]
class Migration(migrations.Migration): dependencies = [ ('sql_proxy_accessors', '0004_get_modified_since_functions'), ] operations = [ HqRunSQL( "DROP FUNCTION IF EXISTS get_case_attachment_by_name(TEXT, TEXT)", "SELECT 1"), migrator.get_migration('get_case_attachment_by_identifier.sql'), ]
class Migration(migrations.Migration): dependencies = [ ('sql_accessors', '0046_livequery_sql'), ] operations = [ migrator.get_migration('get_modified_case_ids.sql'), migrator.get_migration('get_closed_and_deleted_ids.sql'), HqRunSQL('DROP FUNCTION IF EXISTS filter_open_case_ids(TEXT, TEXT[])', 'SELECT 1'), ]