Oibríochtaí imirce bunacharLink to this heading

Tá gach ceann díobh seo: doc: operations ar fáil ón modúl django.contrib.postgres.operations. </ref/migration-operations>

Síneadh a chruthú ag úsáid imirceannaLink to this heading

Is féidir leat síneadh PostgreSQL a chruthú i do bhunachar sonraí ag baint úsáide as comhad imirce. Cruthaíonn an sampla seo síneadh hstore, ach tá na prionsabail chéanna i bhfeidhm maidir le síntí eile.

Socraigh an síneadh hstore i PostgreSQL roimh an gcéad oibríocht CreateModel nó AddField` a bhaineann lena mbain:class: ~django.contrib.postgres.fields.hStorefield trí imirce a chur leis an oibríocht: :class: ~django.contrib.postgres.operations.hStoreExtension. Mar shampla:

Code
from django.contrib.postgres.operations import HStoreExtension


class Migration(migrations.Migration):
    ...

    operations = [HStoreExtension(), ...]

Sceapann an oibríocht an síneadh a chur leis má tá sé ann cheana féin.

Maidir le formhór na síntí, éilíonn sé seo úsáideoir bunachar sonraí le pribhléidí superuser Mura bhfuil na pribhléidí cuí ag úsáideoir bunachar sonraí Django, beidh ort an síneadh a chruthú lasmuigh d'imirce Django le húsáideoir a bhfuil siad aige. Sa chás sin, ceangail le do bhunachar sonraí Django agus reáchtáil an cheist ``CREATE EXTENSION IF NOT EXISTS hstore; ``.

CreateExtensionLink to this heading

class CreateExtension(name, hints=None)Link to this definition

Fo-aicme ``Oibríocht' a shuiteálann síneadh PostgreSQL. Maidir le síntí coitianta, bain úsáid as ceann de na fo-aicmí níos sainiúla thíos.

nameLink to this definition

Is argóint riachtanach é seo. Ainm an síneadh atá le suiteáil.

hintsLink to this definition

The optional hints argument will be passed as **hints to the allow_migrate() method of database routers to assist them in making routing decisions.

BloomExtensionLink to this heading

class BloomExtension(hints=None)Link to this definition

Suiteálann sé an síneadh bloom.

hintsLink to this definition

The optional hints argument will be passed as **hints to the allow_migrate() method of database routers to assist them in making routing decisions.

BTreeginExtensionLink to this heading

class BtreeGinExtension(hints=None)Link to this definition

Suiteálann sé an síneadh ``btree_gin ``.

hintsLink to this definition

The optional hints argument will be passed as **hints to the allow_migrate() method of database routers to assist them in making routing decisions.

BTreegistExtensionLink to this heading

class BtreeGistExtension(hints=None)Link to this definition

Suiteálann sé an síneadh btree_gist.

hintsLink to this definition

The optional hints argument will be passed as **hints to the allow_migrate() method of database routers to assist them in making routing decisions.

CiteExtensionLink to this heading

class CITextExtension(hints=None)Link to this definition

Suiteálann sé an síneadh citext.

hintsLink to this definition

The optional hints argument will be passed as **hints to the allow_migrate() method of database routers to assist them in making routing decisions.

CryptoExtensionLink to this heading

class CryptoExtension(hints=None)Link to this definition

Suiteálann sé an síneadh pgcrypto`.

hintsLink to this definition

The optional hints argument will be passed as **hints to the allow_migrate() method of database routers to assist them in making routing decisions.

HStoreExtensionLink to this heading

class HStoreExtension(hints=None)Link to this definition

Suiteálann sé an síneadh hstore agus bunaíonn sé an nasc freisin chun sonraí hstore a léirmhíniú le húsáid féideartha in imirce ina dhiaidh sin.

hintsLink to this definition

The optional hints argument will be passed as **hints to the allow_migrate() method of database routers to assist them in making routing decisions.

Síneadh TrigramaLink to this heading

class TrigramExtension(hints=None)Link to this definition

Suiteálann sé an síneadh pg_trgm`.

hintsLink to this definition

The optional hints argument will be passed as **hints to the allow_migrate() method of database routers to assist them in making routing decisions.

UnaccentExtensionLink to this heading

class UnaccentExtension(hints=None)Link to this definition

Suiteálann sé an síneadh unaccent.

hintsLink to this definition

The optional hints argument will be passed as **hints to the allow_migrate() method of database routers to assist them in making routing decisions.

Coláidí a bhainistiú ag úsáid imirceLink to this heading

Más gá duit colún a scagadh nó a ordú ag baint úsáide as comhlánú áirithe a sholáthraíonn do chóras oibriúcháin ach nach ndéanann PostgreSQL, is féidir leat coláidí i do bhunachar sonraí a bhainistiú ag baint úsáide as comhad imirce. Is féidir na comparáidí seo a úsáid ansin leis an bparaiméadar db_collation ar:class: ~django.db.models.charfield, :class: ~django.db.models.textfield, agus a bhfo-aicmí.

Mar shampla, chun comhdhlúthú a chruthú le haghaidh ordú leabhar teileafóin na Gearmáine:

Code
from django.contrib.postgres.operations import CreateCollation


class Migration(migrations.Migration):
    ...

    operations = [
        CreateCollation(
            "case_insensitive",
            provider="icu",
            locale="und-u-ks-level2",
            deterministic=False,
        ),
        ...,
    ]
class CreateCollation(name, locale, *, provider='libc', deterministic=True)Link to this definition

Cruthaíonn sé comhdhlúthú leis an ainm ``, `locale agus ``soláthróir` a thugtar.

Socraigh an paraiméadar deirmitheach go False` chun comparáid neamh-chinntitheach a chruthú, mar shampla le haghaidh scagadh cás-neamh-íogair.

class RemoveCollation(name, locale, *, provider='libc', deterministic=True)Link to this definition

Baineann sé na coláidí darb ainm ``ainm ``.

Nuair a aisiomptear é seo tá comhlánú á chruthú leis na hargóintí locale, soláthróir, agus deirmitheach a chuirtear ar fáil. Dá bhrí sin, tá gá le ``áitiúil ``chun an oibríocht seo a dhéanamh inchúlghabháilte.

Oibríochtaí innéacs comhthéantaLink to this heading

Tacaíonn PostgreSQL leis an rogha CONCURRENTLY chun ráitis CREATE INDEX` agus `DROP INDEX ``chun innéacsanna a chur leis agus a bhaint gan scríobhanna a ghlasáil amach. Tá an rogha seo úsáideach chun innéacs a chur leis nó a bhaint i mbunachar sonraí táirgeachta beo.

class AddIndexConcurrently(model_name, index)Link to this definition

Cos:class: ~django.db.migrations.operations.addIndex, ach cruthaíonn sé innéacs leis an rogha CONCURRENTLY. < https://www.postgresql.org/docs/current/ sql-createindex.html #SQL -CREATEINDEX-CONCURRENTLY>Tá cúpla rabhadh air seo le bheith ar an eolas fúthu agus an rogha seo á úsáid agat, féach `doiciméadú PostgreSQL ar innéacsanna tógála ag comhaontúnaí' _.

class RemoveIndexConcurrently(model_name, name)Link to this definition

Cos:class: ~django.db.migrations.operations.removeIndex, ach baineann sé an t-innéacs leis an rogha CONCURRENTLY. < https://www.postgresql.org/docs/current/sql-dropindex.html>Tá cúpla rabhadh le bheith ar an eolas faoi seo agus an rogha seo á úsáid agat, féach `an doiciméadú PostgreSQL `_.

Srianta a chur leis gan bailíochtú a fheidhmiúLink to this heading

Tacaíonn PostgreSQL leis an rogha NOT VALID leis an ráiteas `ADD CONSTRAINT ``chun srianta seiceála a chur leis gan bailíochtú a fhorfheidhmiú ar shraitheanna atá ann cheana. Tá an rogha seo úsáideach más mian leat scanadh fada an tábla a d'fhéadfadh a bheith fada a scipeáil chun a fhíorú go sásaíonn gach sraitheanna atá ann cheana an srian.

Chun srianta seiceála a cruthaíodh leis an rogha NOT VALID a bhailíochtú ag pointe ama níos déanaí, bain úsáid as an oibríocht:class: ~django.contrib.postgres.operations.validateConstraint.

< https://www.postgresql.org/docs/current/ sql-altertable.html #SQL -ALTERTABLE-NOTES>Féach `an doiciméadú PostgreSQL `__ le haghaidh tuilleadh sonraí.

class AddConstraintNotValid(model_name, constraint)Link to this definition

Cos:class: ~django.db.migrations.operations.addConstraint, ach seachnaíonn sé an srian ar na sraitheanna atá ann cheana a bhailíochtú.

class ValidateConstraint(model_name, name)Link to this definition

Déanann sé scanadh tríd an tábla agus bailíochtú an srian seiceála a thugtar ar shraitheanna atá ann cheana