Beispiel #1
0
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'),
    ]
Beispiel #2
0
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
        ),
    ]
Beispiel #4
0
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,
        ),
    ]
Beispiel #7
0
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")
    ]
Beispiel #12
0
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)"
        ),
    ]
Beispiel #15
0
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),
    ]
Beispiel #16
0
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")
    ]
Beispiel #18
0
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[]);"),
    ]
Beispiel #20
0
class Migration(migrations.Migration):

    dependencies = [
        ('sql_accessors', '0049_remove_save_case'),
    ]

    operations = [
        HqRunSQL("DROP FUNCTION IF EXISTS get_extension_case_ids(text, text[])")
    ]
Beispiel #21
0
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'),
    ]
Beispiel #25
0
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"),
    ]
Beispiel #27
0
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"),
    ]
Beispiel #28
0
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'),
    ]
Beispiel #30
0
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'),
    ]