Fampitahana sy fifantenana ny rafitra fifindra-monina angona

Fampitahana sy fifantenana ny rafitra fifindra-monina angona

Fampitahana sy fifantenana ny rafitra fifindra-monina angona

Ny maodelin'ny angona dia mirona hiova mandritra ny dingana fampandrosoana, ary amin'ny fotoana iray dia tsy mifanaraka amin'ny angon-drakitra intsony. Mazava ho azy fa azo esorina ny angon-drakitra, ary avy eo ny ORM dia hamorona dikan-teny vaovao izay hifanaraka amin'ny modely, fa io fomba fiasa io dia hitarika amin'ny fahaverezan'ny angona efa misy. Noho izany, ny asan'ny rafitra fifindra-monina dia ny miantoka fa, vokatry ny fiovan'ny schema, dia ampifanaraho amin'ny maodely data ao amin'ny fampiharana nefa tsy very ny angona efa misy.

Amin'ity lahatsoratra ity, te-hijery fitaovana isan-karazany amin'ny fitantanana ny fifindra-monina angona isika. Manantena izahay fa ity famerenana ity dia mahasoa ho an'ireo mpamorona miatrika safidy mitovy.

asa

Ny orinasanay amin'izao fotoana izao dia mazoto mamolavola ny taranaka manaraka vokatra - Docs Security Suite (DSS). Ny ampahany amin'ny mpizara dia voasoratra ao amin'ny .Net Core, ary ny Entity Framework Core dia ampiasaina ho DBMS. Rehefa mamolavola fampiharana dia mampiasa ny fomba fiasa Code First izahay.

Ny maodelin'ny sehatra fampiharana dia noforonin'ny mpamorona maromaro miaraka - samy tompon'andraikitra amin'ny ampahany lojikany amin'ny rafitra ny tsirairay.

Ny DSS taranaka teo aloha dia nampiasa ny Entity Framework Migrations mahazatra (EF 6) ho rafitra fitantanana fifindra-monina. Na izany aza, niangona ny fitarainana sasany momba izany, ny tena zava-dehibe dia ny tsy fahampian'ny fomba fiasa matotra amin'ny famahana ny fifandirana amin'ny dikan-teny ny EF. Mbola mahasosotra anay ity zava-misy ity rehefa manamboatra bibikely ho ampahany amin'ny fanohanana, ka nanapa-kevitra ny handinika safidy hafa izahay.

Vokatry ny fifanakalozan-kevitra dia natsangana ireto fepetra manaraka ireto ho an'ny rafitra fitantanana ny fifindra-monina:

  1. Fanohanana DBMS isan-karazany. MS SQL Server, PostgreSQL, Oracle dia takiana, saingy azo atao ny mampiasa ny hafa
  2. Miara-miasa amin'ny ORM. Tamin'ny voalohany dia nokasaina ny hampiasa EF Core, saingy tamin'ny dingana famolavolana dia vonona ny handinika ORM hafa izahay
  3. Auto-taranaka fifindra-monina. Raha jerena ny fivoaran'ny Code First, tiako ny hialana amin'ny fifindra-monina "manoratra tanana".
  4. Dikan-teny mifanipaka. Amin'ny tontolo fampandrosoana mizarazara, rehefa mitambatra, dia mety hiharan'ny fifandirana ny EF Core. Lasa olana lehibe izany satria ny ampahany samihafa amin'ny fampiharana dia noforonin'ny mpamorona samihafa, noho izany dia mila mandany fotoana betsaka amin'ny tsirairay ianao.
  5. Fanadihadiana sy fanohanana mandroso. Eto amintsika, toa tsy ilaina ny fanazavana
  6. maimaim-poana. Ny fepetra dia fepetra, satria ny rafitra dia tsy lafo loatra na lafo, fa mety amin'ny fanamorana, dia vonona ny handinika ihany koa izahay.

Noho ny fikarohana kely dia hita ireto safidy manaraka ireto ary hita fa tiana hodinihina:

  1. EF Core Migration
  2. DBup
  3. RoundhouseE
  4. ThinkingHome.Migrator
  5. Fluent Migrator

Ary ankehitriny antsipiriany bebe kokoa

Fampitahana sy fifantenana ny rafitra fifindra-monina angona
EntityFramework Core Migration

Mazava ho azy fa io no safidy voalohany sy lehibe nisafidianana. Zavamaneno teratany izay miasa ivelan'ny baoritra tsy misy mikolikolika amin'ny ampongatapaka. Betsaka ny antontan-taratasy, ofisialy fa tsy toy izany, fahatsorana, sns. Na izany aza, ny fitarainana natao momba ny EF mahazatra dia mifandraika amin'ny EF Core ihany koa.

Noho izany, ny tombony ho an'ny EF Core dia nasongadina:

  • Fanohanana Microsoft, antontan-taratasy, anisan'izany amin'ny fiteny Rosiana, vondrom-piarahamonina goavana
  • Auto-taranaka fifindra-monina mifototra amin'ny CodeFirst
  • Raha oharina amin'ny EF 6, ny EF Core dia tsy mitahiry sarin'ny angon-drakitra intsony. Rehefa miara-miasa amin'ny EF Core ao amin'ny Code First dia tsy ilaina intsony ny mametraka angon-drakitra
  • Satria mandihy avy amin'ny Code First izahay, dia azo atao ny manao fifindra-monina iray mankany amin'ireo mpamatsy fidirana data ilaina rehetra
  • Momba ny mpamatsy, PostgreSQL dia tohana, Oracle dia tohanana, sns., sns., ary MS SQL Server aza 

Ary koa ny fatiantoka:

  • Mbola nitovy lenta ny famahana ny disadisa. Ilaina ny mandamina ny fifindra-monina ary manavao ny snapshots amin'ny database
  • Fiankinan-doha amin'ny maodely izay niteraka ny fifindra-monina

DbUp

Fampitahana sy fifantenana ny rafitra fifindra-monina angona
dbup.github.io

DbUp dia tranomboky .NET izay napetraky ny NuGet ary manampy amin'ny fanosehana ny fanovana amin'ny SQL Server. Izy io dia manara-maso hoe iza amin'ireo script fanovana efa notanterahina ary mitantana ireo izay ilaina amin'ny fanavaozana ny angon-drakitra. Nipoitra avy amin'ny tetikasa ho an'ny maotera bilaogy misokatra amin'ny ASP.NET ny tranomboky ary misy eo ambanin'ny fahazoan-dàlana MIT, ary ao amin'ny GitHub ny kaody. Ny fifindra-monina dia voafaritra amin'ny fampiasana T-SQL.

Inona no tombony:

  • Fanohanana DBMS marobe (MS SQL Server, PstgreSQL, MySQL)
  • Satria ny scripts dia nosoratana tamin'ny T-SQL, dia toa tsotra fotsiny izy ireo
  • Voavaha ihany koa ny fifandirana amin'ny fampiasana SQL

Ary ny cons:

  • Miaraka amin'ireo karazana DBMS tohanana rehetra, Oracle dia tsy iray amin'izy ireo
  • Tsy mifandray amin'ny ORM
  • Ny fanoratana soratra T-SQL amin'ny tanana dia tsy izay nokendrenay
  • Ny antontan-taratasy sy ny vondrom-piarahamonina dia toy izany, na dia eo amin'ny fanoratana ny script SQL aza dia mety tsy ilaina izany.

RoundhouseE

Fampitahana sy fifantenana ny rafitra fifindra-monina angona
github.com/chucknorris/roundhouse

Ity fitaovana fitantanana fifindra-monina ity, zaraina amin'ny alàlan'ny lisansa Apache 2.0, toy ny teo aloha, dia mandeha amin'ny motera fifindra-monina T-SQL. Raha ny fahitana azy dia ny famahana ny olana ara-teknika momba ny fanohanan'ny DBMS no laharam-pahamehana ny mpamorona, fa tsy ny famoronana dingana fampandrosoana mampiadana.

matihanina:

  • Manohana ny DBMS ilaina (anisan'izany Oracle)

maharatsy ny mifampiresaka:

  • Oracle (ary koa ny Access, izay tsy manan-danja amintsika) dia tsy tohanana amin'ny .NET Core, ao amin'ny .NET Full Framework ihany.
  • Tsy miasa amin'ny ORM
  • Mbola kely kokoa noho ny fitaovana teo aloha ny antontan-taratasy
  • Averina indray - nosoratan'ny script ny fifindra-monina

ThinkingHome.Migrator

Fampitahana sy fifantenana ny rafitra fifindra-monina angona

Fitaovana ho an'ny fifindra-monina schema database versioned amin'ny sehatra .NET Core, zaraina eo ambanin'ny lisansa MIT. Ny mpamorona mihitsy no nanoratra momba ny dikan-teny farany efa ho herintaona lasa izay.

matihanina:

  • Natao ho an'ny .NET Core
  • Nanatanteraka filaharan'ny fifindra-monina sampana
  • Nampihatra ny fifindra-monina logging

maharatsy ny mifampiresaka:

  • Nohavaozina farany herintaona lasa izay. Toa tsy tohanana ilay tetikasa
  • Tsy tohanan'ny Oracle (ny lahatsoratra dia milaza fa izany dia noho ny tsy fisian'ny fampiharana maharitra ho an'ny .NET Core - fa herintaona lasa izay)
  • Tsy misy fifindra-monina mandeha ho azy

Amin'ny ankapobeny, ny tetikasa dia toa mampanantena, indrindra raha ny fampandrosoana, fa mila mandray fanapahan-kevitra eto sy izao.

Fluent Migrator

Fampitahana sy fifantenana ny rafitra fifindra-monina angona
github.com/fluentmigrator/fluentmigrator

Ny fitaovana fifindra-monina malaza indrindra miaraka amin'ny tafika lehibe mpankafy. Nozaraina teo ambanin'ny lisansa Apache 2.0. Araka ny voalaza ao amin'ny famaritana, dia rafitra fifindra-monina ho an'ny .NET, mitovy amin'ny Ruby on Rails Migrations. Ny fiovana amin'ny schema database dia voafaritra ao amin'ny kilasy C #.

Misy tombony eto:

  • Fanohanana ny DBMS ilaina
  • Fanohanana .NET Core
  • Fiaraha-monina midadasika
  • Voalamina misesy ny fifandirana eo amin'ny fifindra-monina—famaritana ny filaharan'ny fanatanterahana ny fifindra-monina. Ankoatra izany, raha misy fifandirana mipoitra manodidina ny sampana iray, rehefa manambatra ny fehezan-dalàna, dia voavaha amin'ny fomba mitovy amin'ny an'ny sisa amin'ny fehezan-dalàna.
  • Misy ny mombamomba izay tanterahana aorian'ny fifindra-monina mahomby. Ary afaka mitondra asa fanompoana izy ireo.Ny fanavaozana farany dia iray volana lasa izay, izany hoe velona ilay tetikasa

Raha ny minuses dia ireto:

  • Tsy misy fifindra-monina mandeha ho azy
  • Tsy misy fifandraisana amin'ny modely EF
  • Tsy misy snapshots amin'ny database

Inona no safidintsika?

Fampitahana sy fifantenana ny rafitra fifindra-monina angona

Nihodinkodina tamin'ny masontsivana roa ny adihevitra mafana - ny fifindra-monina mandeha ho azy sy ny famahana ny disadisa. Ny antony hafa dia tsy dia natahotra loatra. Vokatr'izany, mifototra amin'ny valin'ny fifanakalozan-kevitra, nanapa-kevitra ny ekipa fa hampiasa Fluent Migrator amin'ny tetikasa vaovao. Satria ny famahana ny disadisa amin'ny ho avy dia hitondra tombony bebe kokoa.

hitany

Mazava ho azy fa tsy misy fitaovana tonga lafatra. Noho izany dia tsy maintsy nanao laharam-pahamehana ny “fanirianay” hanaovana safidy. Na izany aza, ho an'ny ekipa hafa sy ny asa hafa, ny antony hafa dia mety ho fanapahan-kevitra. Manantena izahay fa hanampy anao hanao safidy ity lahatsoratra ity.

Source: www.habr.com

Add a comment