sql >> データベース >  >> RDS >> PostgreSQL

既存のモデルでアクセントのない拡張機能をアクティブ化するにはどうすればよいですか?

    移行ファイルは手動で作成して適用する必要があります。

    まず、空の移行を作成します:

    ./manage.py makemigrations myapp --empty
    

    次に、ファイルを開き、UnaccentExtensionを追加します operationsへ :

    from django.contrib.postgres.operations import UnaccentExtension
    
    
    class Migration(migrations.Migration):
    
        dependencies = [
            (<snip>)
        ]
    
        operations = [
            UnaccentExtension()
        ]
    

    次に、./manage.py migrateを使用して移行を適用します 。

    最後のステップで次のエラーが発生した場合:

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

    ...次に、postgres# ALTER ROLE <user_name> SUPERUSER;を実行して、ユーザーにスーパーユーザー権限を一時的に許可します。 およびそのNOSUPERUSER 片方。 pgAdminIIIもこれを行うことができます。

    Djangoを使用してアクセントのない機能をお楽しみください:

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



    1. MySQLは複数の値を選択します

    2. oracle sql (左括弧がありません

    3. MicrosoftAccessのSalesforceデータへのリンク

    4. postgresql関数を使用して異なるテーブル名からデータをフェッチしたい