Ntụle na nhọrọ nke usoro mbugharị data

Ntụle na nhọrọ nke usoro mbugharị data

Ntụle na nhọrọ nke usoro mbugharị data

Ụdị data ahụ na-agbanwe agbanwe n'oge usoro mmepe, ma n'oge ụfọdụ ọ naghị adaba na nchekwa data. N'ezie, nchekwa data nwere ike ihichapụ, mgbe ahụ, ORM ga-emepụta ụdị ọhụrụ nke ga-adaba na ihe nlereanya ahụ, ma usoro a ga-eduga ná nkwụsị nke data dị adị. Ya mere, ọrụ nke usoro mbugharị bụ iji hụ na, n'ihi mgbanwe nhazi, ọ na-ejikọta ya na ihe nlereanya data na ngwa na-enweghị efu data dị.

N'isiokwu a, anyị ga-achọ ileba anya na ngwaọrụ dị iche iche maka ijikwa mbugharị nchekwa data. Anyị na-atụ anya na nyocha a ga-aba uru maka ndị mmepe chere nhọrọ yiri ya.

Ebumnuche

Ụlọ ọrụ anyị na-arụsi ọrụ ike ugbu a na-emepụta ọgbọ na-esote ngwaahịa - Docs Security Suite (DSS). Edere akụkụ ihe nkesa ahụ na .Net Core, a na-ejikwa ihe nhazi ihe dị ka DBMS. Mgbe ị na-emebe ngwa, anyị na-eji usoro mbụ koodu.

A na-emepụta ụdị ngalaba ngwa ngwa site na ọtụtụ ndị mmepe n'otu oge - onye ọ bụla na-ahụ maka akụkụ ezi uche nke ha nke sistemụ.

Ọgbọ ndị DSS gara aga jiri usoro Mbugharị Ihe Ntugharị Ebube (EF 6). Otú ọ dị, ụfọdụ mkpesa agbakọtala megide ya, nke bụ isi bụ na EF enweghị ezi uche dị mma iji dozie esemokwu nsụgharị. Eziokwu a ka na-ewute anyị mgbe anyị na-edozi ahụhụ dịka akụkụ nke nkwado, ya mere anyị kpebiri ịtụle nhọrọ ndị ọzọ.

N'ihi mkparịta ụka ahụ, e hibere ihe ndị a chọrọ maka usoro nlekọta ọpụpụ:

  1. Nkwado maka DBMS dị iche iche. Achọrọ MS SQL Server, PostgreSQL, Oracle, mana enwere ike iji ndị ọzọ
  2. Na-arụ ọrụ na ORM. Na mbụ, e mere atụmatụ iji EF Core, ma na nhazi nhazi anyị dị njikere ịtụle ORM ndị ọzọ
  3. Mbugharị nke akpaaka. N'iburu n'uche mmepe nke Usoro Mbụ, ọ ga-amasị m izere mkpa ọ dị "aka-dere" njem
  4. Esemokwu ụdịdị. Na gburugburu mmepe nke kesara, mgbe ejikọtara, EF Core nwere ike ịta ahụhụ site na esemokwu. Nke a na-aghọ nnukwu nsogbu n'ihi na akụkụ dị iche iche nke ngwa ahụ bụ ndị mmepụta dị iche iche na-emepụta, yabụ ị ga-etinye oge dị ukwuu na nke ọ bụla.
  5. Akwụkwọ na nkwado dị elu. N'ebe a, ọ dị anyị ka ọ dịghị nkọwa achọrọ
  6. N'efu. Usoro a bụ ọnọdụ, ebe ọ bụ na usoro anaghị adị oke ọnụ ma ọ bụ dị oke ọnụ, mana ọ dị mma na mma, anyị dịkwa njikere ịtụle.

N'ihi ntakịrị nyocha, a chọtara nhọrọ ndị a ma chọpụta na ọ dị mma maka ntụle:

  1. EF Core Migrations
  2. DBup
  3. RoundhouseE
  4. Echiche Ụlọ.Migrator
  5. Onye na-akwaga nke ọma

Ma ugbu a ntakịrị nkọwa

Ntụle na nhọrọ nke usoro mbugharị data
EntityFramework Core Migrations

Dị ka o kwesịrị ịdị, nke a bụ nhọrọ mbụ na isi nhọrọ ịhọrọ. Ngwa ala nke na-arụ ọrụ site na igbe na-enweghị ihe ọ bụla na-eji ịgbà eme ihe. Ọnụ ọgụgụ buru ibu nke akwụkwọ, gọọmentị na ọ bụghị otú ahụ, ịdị mfe, wdg. Agbanyeghị, mkpesa emere gbasara EF kpochapụwo dịkwa oke mkpa maka EF Core.

Ya mere, a na-akọwapụta uru maka EF Core:

  • Nkwado Microsoft, akwụkwọ, gụnyere na Russian, nnukwu obodo
  • Mbugharị akpaaka dabere na CodeFirst
  • Tụnyere EF 6, EF Core anaghị echekwa foto nchekwa data. Mgbe ya na EF Core na-arụ ọrụ na Usoro Mbụ, ọ dịghịzi mkpa ibunye nchekwa data
  • Ebe ọ bụ na anyị na-agba egwu site na Usoro Mbụ, ọ ga-ekwe omume ịme otu mbugharị na ndị na-eweta ohere data niile achọrọ
  • Banyere ndị na-eweta, a na-akwado PostgreSQL, na-akwado Oracle, wdg, wdg, na ọbụna MS SQL Server 

Nakwa adịghị ike:

  • Mkpebi esemokwu nọgidere n'otu ọkwa ahụ. Ọ dị mkpa ka usoro mbugharị na melite snapshots nchekwa data
  • Ndabere na ụdị nke a na-ebuga ndị njem

DbUp

Ntụle na nhọrọ nke usoro mbugharị data
dbup.github.io

DbUp bụ ọbá akwụkwọ NET arụnyere na NuGet ma na-enyere aka ịkwanye mgbanwe na SQL Server. Ọ na-edobe usoro nke scripts mgbanwe agbanweela ma na-agba ndị dị mkpa iji melite nchekwa data. Ọbá akwụkwọ ahụ tolitere site na ọrụ maka injin ịde blọgụ mepere emepe na ASP.NET ma dị n'okpuru ikike MIT, koodu ahụ dịkwa na GitHub. A na-akọwa mbugharị njem site na iji T-SQL.

Gịnị bụ uru:

  • Nkwado maka ọnụ ọgụgụ buru ibu nke DBMS (MS SQL Server, PstgreSQL, MySQL)
  • Ebe ọ bụ na e dere scripts na T-SQL, ha dị nnọọ mfe
  • A na-edozikwa esemokwu site na iji SQL

Na ọghọm ya:

  • Site na ụdị DBMS niile akwadoro, Oracle abụghị otu n'ime ha
  • Ya na ORM anaghị emekọrịta ihe
  • Iji aka dee edemede T-SQL abụghị ihe anyị na-achọ
  • Akwụkwọ na obodo dị otú ahụ, ọ bụ ezie na n'ihe gbasara ide edemede SQL ha nwere ike ọ gaghị adị mkpa.

RoundhouseE

Ntụle na nhọrọ nke usoro mbugharị data
github.com/chucknorris/roundhouse

Ngwá ọrụ njikwa mbata nke a, nke ekesara n'okpuru ikike Apache 2.0, dị ka nke gara aga, na-arụ ọrụ na injin Mbugharị T-SQL. N'ụzọ doro anya, ndị mmepe ahụ butere ụzọ dozie nsogbu teknụzụ gbasara nkwado DBMS, kama ịmepụta usoro mmepe dị mma.

Ihe:

  • Na-akwado DBMS dị mkpa (gụnyere Oracle)

Cons:

  • A naghị akwado Oracle (yana Access, nke na-adịghị mkpa maka anyị) na NET Core, naanị na .NET Framework zuru ezu.
  • Ọ naghị arụ ọrụ na ORM
  • Enwere ọbụna obere akwụkwọ karịa ngwá ọrụ gara aga
  • Ọzọ - Mbugharị na-ede site na edemede

Echiche Ụlọ.Migrator

Ntụle na nhọrọ nke usoro mbugharị data

Ngwa maka ịkwaga schema nchekwa data mbiputere na nyiwe NET Core, ekesara n'okpuru ikike MIT. Onye nrụpụta n'onwe ya dere banyere ụdị ọhụrụ ya ihe fọrọ nke nta ka ọ bụrụ otu afọ gara aga.

Ihe:

  • Ezubere maka .NET Core
  • Tinyere usoro mbugharị alaka alaka
  • Ndekọ mbugharị etinyere

Cons:

  • Emelitere ikpeazụ otu afọ gara aga. O doro anya na anaghị akwado ọrụ ahụ
  • Ọ bụghị Oracle akwadoghị (isiokwu na-ekwu na nke a bụ n'ihi enweghị mmejuputa nke ọma maka .NET Core - mana nke a bụ otu afọ gara aga)
  • Ọ nweghị ọgbọ mbugharị akpaka

N'ozuzu, oru ngo a na-ele anya na-ekwe nkwa, karịsịa ma ọ bụrụ na ọ ga-etolite, ma anyị kwesịrị ime mkpebi ebe a na ugbu a.

Onye na-akwaga nke ọma

Ntụle na nhọrọ nke usoro mbugharị data
github.com/fluentmigrator/fluentmigrator

Ngwá ọrụ mbugharị kachasị ewu ewu na nnukwu ndị agha Fans. Ekesara n'okpuru ikike Apache 2.0. Dị ka ekwuru na nkọwa ahụ, ọ bụ usoro mbugharị maka NET, dị ka Ruby on Rails Migrations. A kọwara mgbanwe na atụmatụ nchekwa data na klaasị C #.

Enwere uru ebe a:

  • Nkwado maka DBMS achọrọ
  • .NET Core nkwado
  • Obodo mepere emepe buru ibu
  • A na-edozi esemokwu dị n'etiti mbugharị n'usoro-usoro nke mmezu nke mbugharị. Na mgbakwunye, ọ bụrụ na esemokwu bilitere gburugburu otu ihe, mgbe ị na-ejikọta koodu ahụ, a na-edozi ya n'otu ụzọ ahụ dị na koodu ndị ọzọ.
  • Enwere profaịlụ ndị a na-egbu mgbe ọpụpụ gara nke ọma. Ha nwekwara ike ibu ọrụ ọrụ, mmelite ikpeazụ bụ otu ọnwa gara aga, ya bụ, ọrụ a dị ndụ

Banyere minuses, ebe a bụ:

  • Ọ nweghị ọgbọ mbugharị akpaka
  • Enweghị njikọ na ụdị EF
  • Enweghị foto nchekwa data

Gịnị bụ nhọrọ anyị?

Ntụle na nhọrọ nke usoro mbugharị data

Arụmụka ahụ kpụ ọkụ n'ọnụ gbanyere mkpọrọgwụ n'akụkụ abụọ - ọgbọ mbugharị akpaaka na mkpebi siri ike nke esemokwu. Ihe ndị ọzọ adịchaghị atụ egwu. N'ihi ya, dabere na nsonaazụ nke mkparịta ụka ahụ, ndị otu ahụ kpebiri iji Fluent Migrator na ọrụ ọhụrụ ahụ. N'ihi na idozi esemokwu n'ọdịnihu ga-eweta ọtụtụ uru.

Nchoputa

N'ezie, ọ dịghị ngwaọrụ zuru oke. Ya mere, anyị kwesịrị ibute “ọchịchọ” anyị ụzọ ime nhọrọ. Otú ọ dị, maka otu ndị ọzọ na ọrụ ndị ọzọ, ihe ndị ọzọ nwere ike bụrụ ihe dị mkpa. Anyị nwere olileanya na isiokwu a ga-enyere gị aka ime nhọrọ.

isi: www.habr.com

Tinye a comment