PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để loại bỏ chỉ mục varchar_pattern_ops trong quá trình di chuyển django (1.8)?

Được rồi, tôi đã tìm thấy một số thông tin ở đây https://docs.djangoproject.com/en/1.8/_modules/django/db/backends/base/schema/#BaseDatabaseSchemaEditor.alter_field

Và tạo một RunPython thủ công di chuyển để xóa varchar_pattern_ops lập chỉ mục bằng cách sử dụng 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. cách khôi phục postgresql DB mà không cần sao lưu

  2. Làm thế nào để sử dụng flyway để di chuyển dữ liệu từ DB này sang DB khác?

  3. Postgres chọn tất cả các cột nhưng nhóm theo một cột

  4. Thay đổi đối chiếu cơ sở dữ liệu, Ctype trong Postgresql

  5. Quên mật khẩu quản trị viên trên Postgres (Cài đặt Windows), không thể đặt lại