Isbarbardhigga iyo xulashada hababka socdaalka xogta

Isbarbardhigga iyo xulashada hababka socdaalka xogta

Isbarbardhigga iyo xulashada hababka socdaalka xogta

Qaabka xogtu waxa uu u muuqdaa in uu isbeddelo inta lagu guda jiro habka horumarinta, iyo mar marka qaarkood ma u dhigma database. Dabcan, xogta xogta waa la tirtiri karaa, ka dibna ORM waxay abuuri doontaa nooc cusub oo u dhigma qaabka, laakiin habkani wuxuu u horseedi doonaa lumitaanka xogta hadda jirta. Sidaa darteed, shaqada nidaamka socdaalka waa in la hubiyo in, natiijada isbeddelka schema, ay la mid tahay qaabka xogta ee codsiga iyada oo aan lumin xogta jirta.

Maqaalkan, waxaan jeclaan lahayn inaan ku eegno agabyada kala duwan ee lagu maareeyo socdaalka xogta. Waxaan rajeyneynaa in dib u eegistaan ​​ay faa'iido u yeelan doonto horumariyeyaasha ay la kulmaan doorasho la mid ah.

Ujeeddo

Shirkaddayadu waxay hadda si firfircoon u horumarinaysaa jiilka soo socda ee alaabta - Docs Security Suite (DSS). Qaybta server-ka waxay ku qoran tahay .Net Core, iyo Hay'adda Qaab-dhismeedka Core waxa loo isticmaalaa DBMS ahaan. Marka aanu samaynayno arji, waxaanu isticmaalnaa Habka Koowaad ee Xeerka.

Qaabka domainka arjiga waxaa abuuray dhowr horumariyayaal isku mar - mid kastaa wuxuu mas'uul ka yahay qaybtooda macquulka ah ee nidaamka.

Jiilkii hore ee DSS waxay u isticmaaleen hab-dhaqanka Hay'adda Qaabdhismeedka Guud ee Socdaalka (EF 6) sidii nidaamka maaraynta socdaalka. Si kastaba ha ahaatee, cabashooyinka qaarkood ayaa ku soo ururay, tan ugu weyn ayaa ah in EF ay ka maqan tahay hab caqli-gal ah oo lagu xalliyo khilaafaadka nooca. Xaqiiqadani wali way naga cadhaysiisaa marka la hagaajinayo dhiqlaha oo qayb ka ah taageerada, markaa waxaan go'aansanay inaan tixgelinno xulashooyin kale.

Natiijadii doodii, waxaa la sameeyay shuruudaha soo socda ee nidaamka maaraynta socdaalka:

  1. Taageerada DBMS-yada kala duwan. MS SQL Server, PostgreSQL, Oracle ayaa loo baahan yahay, laakiin waxaa suurtagal ah in la isticmaalo kuwa kale
  2. La shaqaynta ORM Markii hore, waxaa la qorsheeyay in la isticmaalo EF Core, laakiin marxaladda naqshadeynta waxaan diyaar u ahayn inaan tixgelinno ORM-yada kale
  3. Jiilka tooska ah ee socdaalka. Anigoo tixgelinaya horumarinta Xeerka, waxaan jeclaan lahaa inaan iska ilaaliyo baahida loo qabo "gacan-qor" socdaalka
  4. Khilaafaadka nooca Deegaanka horumarinta ee la qaybiyay, marka la isku daro, EF Core waxay la kulmi kartaa isku dhacyo. Tani waxay noqotaa dhibaato weyn sababtoo ah qaybaha kala duwan ee codsiga waxaa abuuray horumariyayaal kala duwan, markaa waa inaad waqti badan ku bixisaa mid kasta
  5. Dukumeenti sare iyo taageero. Halkan, waxay noogu muuqataa, wax sharraxaad ah looma baahna
  6. Bilaash Heerku waa shuruud, maadaama nidaamyadu aanay ahayn kuwo qaali ah ama qaali ah, laakiin ku habboon ku habboonaanta, waxaanu sidoo kale diyaar u ahayn inaan tixgelinno.

Natiijadii cilmi-baadhis yar awgeed, xulashooyinka soo socda ayaa la helay oo la ogaaday in la tixgeliyo:

  1. Socdaalka Muhiimka ah ee EF
  2. DBup
  3. RoundhouseE
  4. Fikirka Guriga.Migration
  5. Socdaal faseexa ah

Oo hadda wax yar oo faahfaahsan

Isbarbardhigga iyo xulashada hababka socdaalka xogta
Hay'adaha Muhiimka ah ee Hay'addaFramework

Dabiici ahaan, tani waxay ahayd doorashada ugu horreysa iyo tan ugu weyn ee la dooran karo. Qalab waddaniga ah oo ka shaqeeya sanduuqa iyada oo aan la isku xidhin daf. Xaddi badan oo dukumeenti ah, rasmi ah oo aan sidaas ahayn, fududaan, iwm. Si kastaba ha ahaatee, cabashooyinka laga sameeyay EF-ga caadiga ah waxay sidoo kale aad u khuseeyaan EF Core.

Markaa, faa'iidooyinka EF Core waa la muujiyey:

  • Taageerada Microsoft, dukumentiyada, oo ay ku jiraan Ruushka, bulsho weyn
  • Soo saarista tooska ah ee socdaalka ku salaysan CodeFirst
  • Marka la barbar dhigo EF 6, EF Core hadda ma kaydiso sawirka xogta xogta. Markaad la shaqaynayso EF Core ee Koodhka Koowaad, hadda lagama maarmaan ma aha in la geeyo xog-ururin
  • Maadaama aan ka ciyaareyno Code First, waxaa suurtagal ah in aan sameyno hal guuritaan dhammaan bixiyeyaasha helitaanka xogta loo baahan yahay
  • Marka laga hadlayo bixiyeyaasha, PostgreSQL waa la taageeraa, Oracle waa la taageeraa, iwm., iwm., iyo xitaa MS SQL Server 

Iyo sidoo kale khasaaraha:

  • Xallinta khilaafku sidii hore ayay ahayd. Waa lagama maarmaan in la kala jaro guuritaanka oo la cusboonaysiiyo sawir-qaadista xogta
  • Ku-tiirsanaanta moodooyinka ay socdaalka ku soo baxaan

DbUp

Isbarbardhigga iyo xulashada hababka socdaalka xogta
dbup.github.io

DbUp waa maktabad NET ah oo ay rakibtay NuGet oo ka caawisa riixida isbeddelada Server-ka SQL. Waxay la socotaa qoraallada isbeddelka ee horay loo fuliyay waxayna waddaa kuwa lagama maarmaanka u ah in la cusboonaysiiyo xogta. Maktabadu waxay ka soo baxday mashruuc loogu talagalay makiinadaha wax ku qora ee isha furan ee ASP.NET waxayna ku hoos jirtaa shatiga MIT, koodkuna wuxuu yaal GitHub. Socdaalka waxaa lagu sifeeyaa T-SQL.

Waa maxay faa'iidooyinka:

  • Taageerada tiro badan oo DBMS ah (MS SQL Server, PstgreSQL, MySQL)
  • Maadaama qoraaladu ay ku qoran yihiin T-SQL, waxay u muuqdaan kuwo fudud
  • Khilaafaadka sidoo kale waxaa lagu xalliyaa iyadoo la isticmaalayo SQL

Iyo qasaarooyinka:

  • Iyada oo dhammaan noocyada kala duwan ee DBMS-yada la taageeray, Oracle maaha mid iyaga ka mid ah
  • Lama falgala ORM
  • Ku qorista qoraallada T-SQL ee gacanta ma aha waxa aan hiigsanaynay
  • Dukumeentiyada iyo bulshadu waa sidaas, in kasta oo marka la eego qorista qoraallada SQL laga yaabo in aan loo baahnayn.

RoundhouseE

Isbarbardhigga iyo xulashada hababka socdaalka xogta
github.com/chucknorris/roundhouse

Qalabkan maaraynta socdaalka, oo lagu qaybiyay shatiga Apache 2.0, sida kii hore, wuxuu ku shaqeeyaa matoorka socdaalka T-SQL. Sida muuqata, horumariyayaashu waxay mudnaan siiyeen xallinta mashaakilaadka farsamada ee ku saabsan taageerada DBMS, halkii ay abuuri lahaayeen hannaan horumarineed oo raaxo leh.

Faa'iido:

  • Waxay taageertaa DBMS lagama maarmaanka ah (ay ku jirto Oracle)

Ogolaansho:

  • Oracle (iyo sidoo kale Helitaanka, taas oo aan khusayn anaga) laguma taageero NET Core, kaliya .NET Framework buuxa
  • Kuma shaqeeyo ORM
  • Waxaa jira xitaa dukumeenti ka yar qalabkii hore
  • Mar labaad - guuritaanka waxaa lagu qoraa qoraallo

Fikirka Guriga.Migration

Isbarbardhigga iyo xulashada hababka socdaalka xogta

Aalad loogu talagalay u haajiridda qaabaynta xogta xogta qaabaysan ee NET Core platform, oo lagu qaybiyo shatiga MIT. Horumariyaha laftiisa ayaa wax ka qoray nuqulkiisii ​​u dambeeyay ku dhawaad ​​sanad ka hor.

Faa'iido:

  • Waxaa loogu talagalay .NET Core
  • Hirgaliyay isku xigxiga laanta socdaalka
  • Hirgelinta jarista socdaalka

Ogolaansho:

  • Markii u dambaysay ee la cusbooneysiiyay sanad ka hor Sida muuqata mashruuca lama taageero
  • Ma taageerayo Oracle (maqaalku wuxuu sheegayaa in tani ay sabab u tahay la'aanta dhaqangelinta xasilloon ee NET Core - laakiin tani waa sanad ka hor)
  • Ma jiro jiil toos ah oo guurid ah

Guud ahaan, mashruucu wuxuu u muuqdaa mid rajo leh, gaar ahaan haddii la horumarin lahaa, laakiin waxaan u baahanahay inaan go'aan ka gaarno halkan iyo hadda.

Socdaal faseexa ah

Isbarbardhigga iyo xulashada hababka socdaalka xogta
github.com/fluentmigrator/fluentmigrator

Qalabka socdaalka ee ugu caansan oo leh ciidan badan oo taageerayaal ah. Lagu qaybiyay shatiga Apache 2.0 Sida lagu sheegay sharraxaadda, waa qaab dhismeedka socdaalka .NET, oo la mid ah Ruby on Rails Migrations. Isbeddellada schema database-ka waxaa lagu sifeeyaa fasallada C #.

Halkan waxaa ku yaal faa'iidooyin:

  • Taageerada loo baahan yahay DBMS
  • Taageerada NET Core
  • Bulsho horumarsan oo weyn
  • Isku dhacyada u dhexeeya socdaalka ayaa loo xalliyaa si isdaba joog ah - nidaamka fulinta socdaalka ayaa la cayimay. Intaa waxaa dheer, haddii uu khilaaf ka yimaado hal dhinac, marka la isku daro koodka, waxaa loo xalliyaa si la mid ah habka intiisa kale.
  • Waxa jira profiles la fuliyo guuritaanka guul ka dib. Oo waxay qaadi karaan hawlaha adeegga, casriyeyntii ugu dambaysay waxay ahayd bil ka hor, taas oo ah, mashruucu waa nool yahay

Dhanka minuse-yada, waa kuwan:

  • Ma jiro jiil toos ah oo guurid ah
  • Ma jiro xiriir la leh moodooyinka EF
  • Ma jiro xog sawireed

Maxay ahayd doorashadayadu?

Isbarbardhigga iyo xulashada hababka socdaalka xogta

Doodihii kululaa waxay ku wareegsanaayeen laba cabbir - guuritaan toos ah iyo xallinta miyir-qabka ee isku dhacyada. Qodobbada kale aad ayay uga yaraayeen cabsida. Natiijo ahaan, iyadoo lagu salaynayo natiijada dooda, kooxdu waxay go'aansatey inay Fluent Migrator u adeegsato mashruuca cusub. Sababtoo ah xallinta khilaafaadka mustaqbalka waxay keenaysaa faa'iidooyin badan.

natiijooyinka

Dabcan, ma jiraan qalab qumman. Markaa waxay ahayd inaan mudnaanta siino "rabitaankayaga" si aan wax u doorano. Si kastaba ha ahaatee, kooxaha kale iyo hawlaha kale, arrimo kale ayaa laga yaabaa inay go'aamiyaan. Waxaan rajeyneynaa in maqaalkani uu kaa caawin doono inaad doorato.

Source: www.habr.com

Add a comment