データベース移行操作—Djangoドキュメント

提供:Dev Guides
< DjangoDjango/docs/2.2.x/ref/contrib/postgres/operations
移動先:案内検索

データベース移行操作

これらの操作はすべて、django.contrib.postgres.operationsモジュールから利用できます。

移行を使用した拡張機能の作成

移行ファイルを使用して、データベースにPostgreSQL拡張機能を作成できます。 この例ではhstore拡張機能を作成しますが、他の拡張機能にも同じ原則が適用されます。

HStoreExtension 操作で移行を追加することにより、 HStoreField を含む最初のCreateModelまたはAddField操作の前にPostgreSQLでhstore拡張機能を設定します。 例えば:

from django.contrib.postgres.operations import HStoreExtension

class Migration(migrations.Migration):
    ...

    operations = [
        HStoreExtension(),
        ...
    ]

拡張機能を作成するには、スーパーユーザー権限を持つデータベースユーザーが必要です。 Djangoデータベースユーザーにスーパーユーザー権限がない場合は、適切な権限を持つユーザーを使用して、Django移行の外部で拡張機能を作成する必要があります。 その場合は、Djangoデータベースに接続して、クエリCREATE EXTENSION IF NOT EXISTS hstore;を実行します。


CreateExtension

class CreateExtension(name)
PostgreSQL拡張機能をインストールするOperationサブクラス。
name
これは必須の引数です。 インストールする拡張機能の名前。


BtreeGinExtension

class BtreeGinExtension
btree_gin拡張機能をインストールします。


BtreeGistExtension

class BtreeGistExtension
btree_gist拡張機能をインストールします。


CITextExtension

class CITextExtension
citext拡張機能をインストールします。


CryptoExtension

class CryptoExtension
pgcrypto拡張機能をインストールします。


HStoreExtension

class HStoreExtension
hstore拡張機能をインストールし、その後の移行で使用できるようにhstoreデータを解釈するための接続もセットアップします。


TrigramExtension

class TrigramExtension
pg_trgm拡張機能をインストールします。


UnaccentExtension

class UnaccentExtension
unaccent拡張機能をインストールします。