PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да премахнете индекс varchar_pattern_ops в миграция на django (1.8)?

Добре, намерих малко информация тук https://docs.djangoproject.com/en/1.8/_modules/django/db/backends/base/schema/#BaseDatabaseSchemaEditor.alter_field

И направи ръчен RunPython миграция за изтриване на varchar_pattern_ops индекс с помощта на SchemaEditor

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models, migrations


import re
def drop_md5hash_varchar_pattern_ops_index(apps, schemaEditor):
    # code based on https://docs.djangoproject.com/en/1.8/_modules/django/db/backends/base/schema/#BaseDatabaseSchemaEditor.alter_field
    model = apps.get_model("logger", "Btilog")
    index_names = schemaEditor._constraint_names(model, index=True)
    for index_name in index_names:
        if re.search('logger_btilog_md5hash_.+_like', index_name):
            print 'dropping index {}'.format(index_name)
            schemaEditor.execute(schemaEditor._delete_constraint_sql(schemaEditor.sql_delete_index, model, index_name))


class Migration(migrations.Migration):
    dependencies = [
        ('logger', '0012_auto_20150529_1745'),
    ]

    operations = [
        # Remove the annoying index using a hack
        migrations.RunPython(
            drop_md5hash_varchar_pattern_ops_index
        ),
    ]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Добавяне на брой общи редове чрез Marshmallow с @post_dump?

  2. Изцяло игнориране на часовите зони в Rails и PostgreSQL

  3. Добавяне на таблица с потребители/акаунти към Postgres в Django View

  4. Как да премахнете потребител от базата данни на Postgres

  5. Как променяте кодирането на знаци на база данни на Postgres?