データベース移行操作
これらの操作はすべて、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
拡張機能をインストールします。