Mwepụta nke eserese njikọ DBMS EdgeDB 2.0

Ewepụtara ntọhapụ nke EdgeDB 2.0 DBMS, nke na-emejuputa ụdị data eserese mmekọrịta yana asụsụ ajụjụ EdgeQL, nke kachasị maka ịrụ ọrụ na data nhazi ọkwa siri ike. Edere koodu ahụ na Python na Rust (ntụgharị na akụkụ arụmọrụ dị oke mkpa) ma kesaa ya n'okpuru ikike Apache 2.0. A na-emepụta ọrụ a dịka mgbakwunye maka PostgreSQL. A na-akwado ọba akwụkwọ ndị ahịa maka Python, Go, Rust na TypeScript/Javascript. Na-enye ngwaọrụ ahịrị iwu maka njikwa DBMS yana mmegbu ajụjụ mmekọrịta (REPL).

Kama ụdị data dabere na tebụl, EdgeDB na-eji usoro nkwupụta dabere na ụdị ihe. Kama igodo mba ọzọ, a na-eji njikọ site na ntụaka iji kọwaa njikọ dị n'etiti ụdị (otu ihe nwere ike iji dị ka ihe onwunwe nke ihe ọzọ).

ụdị Onye {achọrọ aha aha -> str; } ụdị ihe nkiri { aha ihe onwunwe achọrọ -> str; ọtụtụ ndị na-eme njikọ njikọ -> Onye; }

Enwere ike iji ndenye aha iji mee ka nhazi ajụjụ dị ngwa. A na-akwadokwa atụmatụ dị ka mpịnye ihe onwunwe siri ike, mmachi uru ihe onwunwe, akụrụngwa agbakọtara na usoro echekwara. Akụkụ nke atụmatụ nchekwa ihe EdgeDB, nke dịtụ icheta ORM, gụnyere ike ịgwakọta schemas, njikọ njikọ sitere na ihe dị iche iche, yana nkwado JSON jikọtara ọnụ.

A na-enye ngwá ọrụ arụrụ arụ ọrụ maka ịchekwa schema njem - mgbe ịgbanwere atụmatụ akọwapụtara na faịlụ esdl dị iche, mee iwu "edgedb migration create" na DBMS ga-enyocha ọdịiche dị na atụmatụ ahụ wee mepụta edemede maka ịkwaga na . ọhụrụ schema. A na-enyocha akụkọ mgbanwe schema ozugbo.

Iji wepụta ajụjụ, a na-akwado ma asụsụ ajụjụ GraphQL yana asụsụ EdgeDB nwe ya, nke bụ mmegharị nke SQL maka data nhazi ọkwa. Kama ndepụta, a na-ahazi nsonaazụ ajụjụ n'ụzọ ahaziri ahazi, ma kama ịza ajụjụ na JOIN, ị nwere ike ịkọwa otu ajụjụ EdgeQL dị ka nkwupụta n'ime ajụjụ ọzọ. A na-akwado azụmahịa na okirikiri.

họrọ Ihe nkiri { aha, ndị na-eme ihe nkiri: { aha } } filter .title = "The Matrix" tinye ihe nkiri { aha : = "Mbilite n'ọnwụ Matrix", ndị na-eme ihe nkiri: = ( họrọ onye nzacha .aha na {'Keanu Reeves', 'Carrie- Anne Moss', 'Laurence Fishburne'} )} maka ọnụ ọgụgụ na {0, 1, 2, 3} otu ( họrọ {nọmba, nọmba + 0.5});

Na ụdị ọhụrụ:

  • E tinyela ihe nrụnye webụ arụnyere maka nchịkwa nchekwa data, na-enye gị ohere ilele na dezie data, gbaa ajụjụ EdgeQL wee nyochaa atụmatụ nchekwa ejiri. Ejiri iwu "edgedb ui" malite interface ahụ, mgbe nke ahụ gasịrị ọ na-adị mgbe ị na-abanye localhost.
    Mwepụta nke eserese njikọ DBMS EdgeDB 2.0
  • Emejuputala okwu “GROUP”, na-enye gị ohere ikewa ma chịkọta data na data otu site na iji okwu EdgeQL aka ike, dị ka ịchịkọta na ọrụ SELECT.
  • Ikike ijikwa ohere na ọkwa ihe. A kọwapụtara iwu ịnweta n'ọkwa nhazi nchekwa ma nye gị ohere ịmachi ikike iji ụfọdụ ihe n'iweta, fanye, ihichapụ, na imelite arụmọrụ. Dịka ọmụmaatụ, ịnwere ike ịgbakwunye iwu na-enye ohere naanị onye ode akwụkwọ imelite mbipụta.
  • Agbakwunyere ikike iji mgbanwe ụwa niile na atụmatụ nchekwa. Atụpụtala mgbanwe ọhụrụ current_user iji kegide onye ọrụ.
  • Nkwado agbakwunyere maka ụdị na-akọwa oke nke ụkpụrụ.
  • A kwadola ọbá akwụkwọ ndị ahịa maka asụsụ Rust.
  • Edozila usoro ọnụọgụ abụọ nke EdgeDB, na-eme ka o kwe omume ịhazi ọtụtụ nnọkọ dị iche iche n'otu oge n'otu njikọ netwọkụ, na-ebugharị site na HTTP, na-eji mgbanwe ụwa na steeti mpaghara.
  • Nkwado agbakwunyere maka ịgbalite oghere, nke na-enye gị ohere idobe onye na-ahụ maka ihe nkesa na ebe nchekwa ma na-agba ya naanị mgbe ị na-agbalị ịmepụta njikọ (bara uru maka ịchekwa akụrụngwa na sistemụ nrụpụta).

isi: opennet.ru

Tinye a comment