sql >> Databáze >  >> RDS >> PostgreSQL

Jak mohu aktivovat rozšíření bez přízvuku na již existujícím modelu

Migrační soubor je třeba vytvořit a použít ručně.

Nejprve vytvořte prázdnou migraci:

./manage.py makemigrations myapp --empty

Poté soubor otevřete a přidejte UnaccentExtension na operations :

from django.contrib.postgres.operations import UnaccentExtension


class Migration(migrations.Migration):

    dependencies = [
        (<snip>)
    ]

    operations = [
        UnaccentExtension()
    ]

Nyní použijte migraci pomocí ./manage.py migrate .

Pokud se během posledního kroku zobrazí následující chyba:

django.db.utils.ProgrammingError: permission denied to create extension "unaccent"
HINT:  Must be superuser to create this extension.

... pak dočasně povolte práva superuživatele svému uživateli provedením postgres# ALTER ROLE <user_name> SUPERUSER; a jeho NOSUPERUSER protějšek. pgAdminIII to také umí.

Nyní si vychutnejte funkci bez přízvuku pomocí Django:

>>> Person.objects.filter(first_name__unaccent=u"Helène")
[<Person: Michels Hélène>]



  1. uložit dlouhou hodnotu v databázi Android

  2. Konfigurace replikace databáze MySQL Master-Master

  3. PostgreSQL vytvořit tabulku, pokud neexistuje

  4. Jak velká je příliš velká pro tabulku MySQL?