Papiso le khetho ea mekhoa ea ho falla ha data

Papiso le khetho ea mekhoa ea ho falla ha data

Papiso le khetho ea mekhoa ea ho falla ha data

Mohlala oa data o atisa ho fetoha nakong ea ts'ebetso ea nts'etsopele, 'me ka nako e itseng ha e sa lumellana le database. Ehlile, database e ka hlakoloa, ebe ORM e tla theha mofuta o mocha o tla lumellana le mohlala, empa ts'ebetso ena e tla lebisa tahlehelong ea data e teng. Ka hona, mosebetsi oa tsamaiso ea ho falla ke ho etsa bonnete ba hore, ka lebaka la phetoho ea schema, e lumellana le mohlala oa data ka kopo ntle le ho lahleheloa ke data e teng.

Sehloohong sena, re ka rata ho sheba lisebelisoa tse fapaneng tsa ho laola ho falla ha database. Re tšepa hore tlhahlobo ena e tla ba molemo ho bahlahisi ba tobaneng le khetho e tšoanang.

Sepheo

Khamphani ea rona hajoale e ntse e nts'etsapele moloko o latelang oa sehlahisoa - Docs Security Suite (DSS). Karolo ea seva e ngotsoe ho .Net Core, le Entity Framework Core e sebelisoa e le DBMS. Ha re rala kopo, re sebelisa mokhoa oa Code First.

Sebopeho sa sebaka sa kopo se entsoe ke bahlahisi ba 'maloa ka nako e le' ngoe - e mong le e mong o ikarabella bakeng sa karolo ea bona e utloahalang ea tsamaiso.

Moloko o fetileng oa DSS o sebelisitse mokhoa oa khale oa Entity Framework Migrations (EF 6) e le mokhoa oa tsamaiso ea ho falla. Leha ho le joalo, litletlebo tse ling li bokelletse khahlanong le eona, e kholo ke hore EF ha e na mokhoa o bohlale oa ho rarolla likhohlano tsa mofuta. Taba ena e ntse e re khopisa ha re lokisa liphoso e le karolo ea tšehetso, kahoo re ile ra etsa qeto ea ho nahana ka mekhoa e meng.

Ka lebaka la lipuisano, litlhoko tse latelang tsa tsamaiso ea ho falla li ile tsa thehoa:

  1. Ts'ehetso bakeng sa li-DBMS tse fapaneng. MS SQL Server, PostgreSQL, Oracle lia hlokahala, empa hoa khoneha ho sebelisa tse ling
  2. Ho sebetsa le ORM. Qalong, ho ne ho reriloe ho sebelisa EF Core, empa sethaleng sa moralo re ne re itokiselitse ho nahana ka li-ORM tse ling
  3. Phalliso e ikemetseng ea ho falla. Ho ela hloko nts'etsopele ea Khoutu Pele, ke rata ho qoba tlhoko ea ho "ngola ka letsoho" ho falla.
  4. Likhohlano tsa phetolelo. Sebakeng se ajoang sa nts'etsopele, ha ho kopanngoa, EF Core e ka hlokofatsoa ke likhohlano. Sena se fetoha bothata bo boholo hobane likarolo tse fapaneng tsa ts'ebeliso li entsoe ke bahlahisi ba fapaneng, kahoo o tlameha ho qeta nako e ngata ho e 'ngoe le e 'ngoe.
  5. Litokomane tse tsoetseng pele le tšehetso. Mona, ho bonahala ho rona, ha ho na tlhaloso e hlokahalang
  6. Mahala. Mokhoa o na le maemo, kaha lits'ebetso ha li theko e boima haholo kapa ha li theko e boima, empa li loketse ho le bonolo, re ne re boetse re ikemiselitse ho nahana ka tsona.

Ka lebaka la lipatlisiso tse nyane, likhetho tse latelang li ile tsa fumanoa 'me tsa fumanoa li lakatseha hore li nahane:

  1. EF Core Ho falla
  2. DBup
  3. RoundhouseE
  4. Ho NahanaLapeng.Mofalli
  5. Mofalli ea Thellang

'Me joale lintlha tse ling tse nyenyane

Papiso le khetho ea mekhoa ea ho falla ha data
EntityFramework Core Migrations

Ka tlhaho, ena e ne e le khetho ea pele le e ka sehloohong eo u ka e khethang. Seletsa sa tlhaho se sebetsang ka ntle ho lebokose ntle le ho ts'oara moropana. Palo e kholo ea litokomane, tsa semmuso eseng joalo, bonolo, joalo-joalo. Leha ho le joalo, litletlebo tse entsoeng ka EF ea khale le tsona li bohlokoa bakeng sa EF Core.

Kahoo, melemo ea EF Core e totobatsoa:

  • Ts'ehetso ea Microsoft, litokomane, ho kenyeletsoa le Serussia, sechaba se seholo
  • Phalliso e ikemetseng ea ho falla e ipapisitse le CodeFirst
  • Ha ho bapisoa le EF 6, EF Core ha e sa boloka senepe sa database. Ha u sebetsa le EF Core ho Code First, ha ho sa hlokahala hore u sebelise database
  • Kaha re tantša ho tloha ho Code First, hoa khoneha ho tsamaisa phallo e le 'ngoe ho bohle ba hlokahalang ba fanang ka phihlello ea data
  • Mabapi le bafani, PostgreSQL ea tšehetsoa, ​​Oracle ea tšehetsoa, ​​joalo-joalo, joalo-joalo, esita le MS SQL Server 

'Me hape le go tlhoka mesola:

  • Tharollo ea likhohlano e ile ea lula e le boemong bo tšoanang. Hoa hlokahala ho etsa tatellano ea ho falla le ho ntlafatsa linepe tsa database
  • Ho itšetlehile ka mehlala eo ho falla ho etsoang ho eona

DbUp

Papiso le khetho ea mekhoa ea ho falla ha data
dbup.github.io

DbUp ke laebrari ea .NET e kentsoeng ke NuGet mme e thusa ho sutumelletsa liphetoho ho SQL Server. E boloka tlaleho ea hore na ke liphetoho life tse seng li entsoe mme e tsamaisa tse hlokahalang ho nchafatsa database. Laeborari e holile ho tsoa morerong oa enjine ea ho ngolla mohloli o bulehileng ho ASP.NET mme e teng tlasa laesense ea MIT, mme khoutu e ho GitHub. Ho falla ho hlalosoa ho sebelisoa T-SQL.

Melemo ke efe:

  • Tšehetso bakeng sa palo e kholo ea DBMS (MS SQL Server, PstgreSQL, MySQL)
  • Kaha mangolo a ngotsoe ka T-SQL, a shebahala a le bonolo haholo
  • Likhohlano li boetse li rarolloa ho sebelisoa SQL

Le mathata:

  • Ka mefuta eohle ea li-DBMS tse tšehetsoeng, Oracle ha se e 'ngoe ea tsona
  • Ha e sebelisane le ORM
  • Ho ngola mangolo a T-SQL ka letsoho ha se seo re neng re se rerile
  • Litokomane le sechaba li joalo-joalo, le hoja ka mokhoa oa ho ngola mangolo a SQL li ka 'na tsa se ke tsa hlokahala.

RoundhouseE

Papiso le khetho ea mekhoa ea ho falla ha data
github.com/chucknorris/roundhouse

Sesebelisoa sena sa taolo ea ho falla, se ajoang tlas'a laesense ea Apache 2.0, joalo ka e fetileng, se sebetsa ho enjine ea ho falla ea T-SQL. Kamoo ho bonahalang kateng, bahlahisi ba etelletse pele ho rarolla mathata a tekheniki mabapi le tšehetso ea DBMS, ho fapana le ho theha ts'ebetso e ntle ea nts'etsopele.

Melemo:

  • E tšehetsa DBMS e hlokahalang (ho kenyeletsoa Oracle)

Chelete:

  • Oracle (hammoho le Access, e seng ea bohlokoa ho rona) ha e tšehetsoe ho .NET Core, feela ho .NET Full Framework
  • Ha e sebetse le ORM
  • Ho na le litokomane tse nyane ho feta sesebelisoa se fetileng
  • Hape - ho falla ho ngotsoe ke mangolo

Ho NahanaLapeng.Mofalli

Papiso le khetho ea mekhoa ea ho falla ha data

Sesebelisoa sa ho falla ha schema sa database ho ea sethaleng sa .NET Core, se ajoang tlas'a laesense ea MIT. Moqapi ka boeena o ile a ngola ka phetolelo ea morao-rao hoo e ka bang selemo se fetileng.

Melemo:

  • E etselitsoe .NET Core
  • Ho kenngwa tshebetsong tatellano ea makala a fallang
  • E kentsoeng ts'ebetsong ea ho rema lifate

Chelete:

  • E qetetse ho nchafatsoa selemo se fetileng. Kamoo ho bonahalang kateng morero ha o tšehetsoe
  • Ha e tšehetsoe ke Oracle (sengoloa se bolela hore sena se bakoa ke ho hloka ts'ebetsong e tsitsitseng bakeng sa .NET Core - empa sena ke selemo se fetileng)
  • Ha ho tlhahiso e iketsang ea ho falla

Ka kakaretso, morero ona o shebahala o tšepisa, haholo-holo haeba o ne o tla ntlafala, empa re ne re hloka ho etsa qeto mona le hona joale.

Mofalli ea Thellang

Papiso le khetho ea mekhoa ea ho falla ha data
github.com/fluentmigrator/fluentmigrator

Sesebelisoa se tsebahalang haholo sa ho falla se nang le lebotho le leholo la balateli. E abuoa tlas'a laesense ea Apache 2.0. Joalokaha ho boletsoe tlhalosong, ke moralo oa ho falla bakeng sa .NET, o tšoanang le Ruby on Rails Migrations. Liphetoho ho schema ea database li hlalositsoe lihlopheng tsa C #.

Ho na le melemo mona:

  • Tšehetso bakeng sa DBMS e hlokahalang
  • .NET Core tšehetso
  • Sechaba se seholo se tsoetseng pele
  • Likhohlano pakeng tsa ho falla li rarolloa ka tatellano-taelo ea ho phethahatsa ho falla e hlalositsoe. Ho phaella moo, haeba khohlano e hlaha ho pota-pota mokhatlo o le mong, ha o kopanya khoutu, e rarolloa ka tsela e tšoanang le ea khoutu e 'ngoe.
  • Ho na le li-profile tse etsoang ka mor'a ho falla ka katleho. 'Me ba khona ho jara mesebetsi ea litšebeletso.Nchafatso ea ho qetela e bile khoeling e fetileng, ke hore, morero o ntse o phela

Ha e le li-minuses, ke tsena:

  • Ha ho tlhahiso e iketsang ea ho falla
  • Ha ho na khokahano le mefuta ea EF
  • Ha ho na linepe tsa database

Re ne re khetha eng?

Papiso le khetho ea mekhoa ea ho falla ha data

Liphehisano tse matla li ne li pota-potile mekhahlelo e 'meli - tlhahiso e ikemetseng ea ho falla le ho rarolla likhohlano ka bohlale. Lintlha tse ling li ne li sa tšose hakaalo. Ka lebaka leo, ho itšetlehile ka liphello tsa puisano, sehlopha se ile sa etsa qeto ea ho sebelisa Fluent Migrator morerong o mocha. Hobane ho rarolla likhohlano nakong e tlang ho tla tlisa melemo e mengata haholo.

fumanoeng ke

Ehlile, ha ho na lisebelisoa tse phethahetseng. Kahoo re ile ra tlameha ho etelletsa "litlhoko" tsa rona ho etsa khetho. Leha ho le joalo, bakeng sa lihlopha tse ling le mesebetsi e meng, lintlha tse ling li ka ba tsa bohlokoa. Re tšepa hore sehlooho sena se tla u thusa ho etsa khetho.

Source: www.habr.com

Eketsa ka tlhaloso