Te whakataurite me te kowhiringa o nga punaha hekenga raraunga

Te whakataurite me te kowhiringa o nga punaha hekenga raraunga

Te whakataurite me te kowhiringa o nga punaha hekenga raraunga

Ko te tauira raraunga ka huri i te wa o te tukanga whanaketanga, a, i etahi wa ka kore e rite ki te papaunga raraunga. Ko te tikanga, ka taea te whakakore i te papaarangi, katahi ka hangaia e te ORM he putanga hou e rite ana ki te tauira, engari ko tenei tikanga ka arahi ki te ngaro o nga raraunga o mua. Na, ko te mahi a te punaha hekenga ko te whakarite, na te whakarereketanga o te kaupapa, ka tukutahi me te tauira raraunga i roto i te tono me te kore e ngaro nga raraunga o naianei.

I roto i tenei tuhinga, e hiahia ana matou ki te titiro ki nga momo taputapu mo te whakahaere i nga hekenga raraunga. Ko te tumanako ka whai hua tenei arotake mo nga kaiwhakawhanake e pa ana ki tetahi whiringa rite.

Whāinga

I tenei wa kei te kaha to taatau kamupene ki te whakawhanake i te reanga hua e whai ake nei - Docs Security Suite (DSS). Ko te waahanga tūmau kua tuhia ki te .Net Core, ka whakamahia te Entity Framework Core hei DBMS. I te wa e hoahoa ana i tetahi tono, ka whakamahia e matou te huarahi Waehere Tuatahi.

Ko te tauira rohe tono he mea hanga e etahi kaiwhakawhanake i te wa kotahi - kei ia tangata te kawenga mo o raatau ake waahanga arorau o te punaha.

I whakamahia e te reanga o mua o DSS te Mahinga Anga Hinonga Matarohia (EF 6) hei punaha whakahaere heke. Heoi, kua whakaemihia etahi amuamu ki a ia, ko te mea nui ko te kore o te EF i te huarahi tika ki te whakatau i nga raruraru putanga. Ko tenei meka e whakapouri tonu ana i a matou i te wa e whakatika ana nga pepeha hei waahanga tautoko, no reira i whakaaro matou ki te whakaaro ki etahi atu whiringa.

Ko te hua o nga korerorero, i hangaia nga whakaritenga e whai ake nei mo te punaha whakahaere heke:

  1. Tautoko mo nga momo DBMS. MS SQL Server, PostgreSQL, Oracle e hiahiatia ana, engari ka taea pea te whakamahi i etahi atu
  2. Mahi tahi me ORM. I te timatanga, i whakamaheretia kia whakamahia te EF Core, engari i te waahanga hoahoa kua rite matou ki te whakaaro ki etahi atu ORM
  3. Whakatupu-aunoa o nga heke. Ma te whai whakaaro ki te whanaketanga o te Waehere Tuatahi, ka hiahia ahau ki te karo i te hiahia ki te "tuhi-a-ringa" nga heke
  4. Putanga papā. I roto i te taiao whakawhanaketanga toha, i te wa e hanumi ana, ka mamae pea a EF Core i nga raruraru. He raru nui tenei na te mea he rereke nga waahanga o te tono ka hangaia e nga kaiwhakawhanake rereke, na me whakapau he wa roa mo ia.
  5. Nga tuhinga roa me te tautoko. I konei, ki ta matou titiro, kaore he whakamaramatanga
  6. Kore utu. He herenga te paearu, na te mea ehara nga punaha i te tino utu nui, te utu nui ranei, engari he pai ki te waatea, kua rite hoki matou ki te whakaaro

Ko te hua o te rangahau iti, i kitea nga whiringa e whai ake nei ka kitea e pai ana hei whakaaro:

  1. Hekenga Matua EF
  2. DBup
  3. Whare RaunaE
  4. ThinkingHome.Migrator
  5. Hekenga rere

Na inaianei he iti ake nga korero

Te whakataurite me te kowhiringa o nga punaha hekenga raraunga
Hekenga Matua Angamahi

Ko te tikanga, koinei te waahanga tuatahi me te kaupapa matua hei whiriwhiri. He taputapu taketake e mahi ana i waho o te pouaka kaore he pona ki te timipene. He nui nga tuhinga, whai mana me te kore pera, ngawari, aha atu. Heoi, ko nga amuamu mo te EF matarohia he mea tino tika mo te EF Core.

Na, ko nga painga mo te EF Core kua tohua:

  • Tautoko Microsoft, tuhinga, tae atu ki te reo Ruhia, hapori nui
  • Whakaputa-aunoa o nga heke i runga i te CodeFirst
  • Ka whakatauritea ki te EF 6, kua kore a EF Core e pupuri i tetahi whakaahua o te papaa raraunga. I te wa e mahi tahi ana me EF Core i te Waehere Tuatahi, kua kore e tika kia horahia he putunga raraunga
  • I te mea kei te kanikani matou mai i te Waehere Tuatahi, ka taea te whakahaere i tetahi hekenga ki nga kaiwhakarato uru raraunga e hiahiatia ana
  • Mo nga kaiwhakarato, ka tautokohia a PostgreSQL, ka tautokohia a Oracle, aha atu, aha atu, tae atu ki te MS SQL Server 

Me nga mea kino ano hoki:

  • I noho tonu te whakatau papā ki te taumata kotahi. He mea tika ki te whakaraupapa i nga hekenga me te whakahou i nga whakaahua raraunga
  • Te ti'aturi i runga i nga tauira i puta ai nga heke

DbUp

Te whakataurite me te kowhiringa o nga punaha hekenga raraunga
dbup.github.io

Ko DbUp he whare pukapuka .NET kua whakauruhia e NuGet me te awhina i nga huringa ki te SQL Server. Ka aroturukihia ko nga tuhinga whakarereke kua oti te whakahaere me te whakahaere i nga mea e tika ana hei whakahou i te papaunga raraunga. I tupu ake te whare pukapuka mai i te kaupapa mo te miihini tuhi korero tuwhera i runga i te ASP.NET me te noho i raro i te raihana MIT, kei te GitHub te waehere. Ka whakaahuahia nga hekenga ma te whakamahi i te T-SQL.

He aha nga painga:

  • Tautoko mo te maha o DBMS (MS SQL Server, PstgreSQL, MySQL)
  • I te mea kua tuhia nga tuhinga ki te T-SQL, he maamaa noa te ahua
  • Ka whakatauhia nga raruraru ma te whakamahi i te SQL

Me nga kino:

  • Me nga momo momo DBMS e tautokohia ana, ehara ko Oracle tetahi o era
  • Karekau e mahi tahi me ORM
  • Ko te tuhi tuhi T-SQL ma te ringaringa ehara i ta matou i whai ai
  • Ko nga tuhinga me te hapori he pera-pera, ahakoa mo te tuhi i nga tuhinga SQL kaore pea e tika.

Whare RaunaE

Te whakataurite me te kowhiringa o nga punaha hekenga raraunga
github.com/chucknorris/roundhouse

Ko tenei taputapu whakahaere heke, ka tohatohahia i raro i te raihana Apache 2.0, penei i te mea o mua, ka rere i runga i te miihini heke T-SQL. Te ahua nei, ko nga kaiwhakawhanake i aro nui ki te whakaoti rapanga hangarau e pa ana ki te tautoko DBMS, kaua ki te hanga i tetahi tukanga whanaketanga whakamarie.

Kaupapa:

  • Ka tautoko i te DBMS e tika ana (tae atu ki a Oracle)

Cons:

  • Ko Oracle (me te Access, he mea kore mo tatou) kaore i te tautokohia i runga i te .NET Core, kei runga anake i te .NET Full Framework
  • Kaore e mahi me te ORM
  • He iti ake nga tuhinga i te taputapu o mua
  • Ano - ka tuhia nga heke ma nga tuhinga

ThinkingHome.Migrator

Te whakataurite me te kowhiringa o nga punaha hekenga raraunga

He taputapu mo te hekenga aronuinga patengi raraunga putanga ki te turanga .NET Core, ka tohatohahia i raro i te raihana MIT. Ko te kaiwhakawhanake ake i tuhi mo tana putanga hou tata ki te tau ki muri.

Kaupapa:

  • I hoahoatia mo te .NET Core
  • I whakatinanahia he raupapa manga o nga heke
  • Kua whakatinanahia te raakau hekenga

Cons:

  • Whakahoutanga whakamutunga kotahi tau ki muri. Te ahua nei kaore i te tautokohia te kaupapa
  • Kaore i te tautokohia e Oracle (e kii ana te tuhinga na te kore o te whakatinanatanga pumau mo .NET Core - engari he tau ki muri)
  • Kaore he whakatipuranga aunoa o nga heke

I te katoa, he pai te ahua o te kaupapa, ina koa ka whanake, engari me whakatau maatau i konei, inaianei.

Hekenga rere

Te whakataurite me te kowhiringa o nga punaha hekenga raraunga
github.com/fluentmigrator/fluentmigrator

Ko te taputapu hekenga tino rongonui me te ope nui o nga kaiwhaiwhai. Ka tohatohahia i raro i te raihana Apache 2.0. I korerohia i roto i te whakaahuatanga, he anga hekenga mo .NET, he rite ki a Ruby on Rails Migrations. Ko nga huringa ki te aronuinga pātengi raraunga e whakaahuatia ana i roto i nga akomanga C#.

He painga kei konei:

  • Tautoko mo te DBMS e hiahiatia ana
  • Tautoko .NET Core
  • Hapori whakawhanake nui
  • Ko nga raruraru i waenga i nga hekenga ka whakatauhia a-raupapa-ka whakatauhia te raupapa o nga mahi o nga heke. I tua atu, ki te puta he pakanga ki te taha o tetahi hinonga, ina hanumi te waehere, ka whakatauhia kia rite ki era atu o te waehere
  • He pūkete ka mahia i muri i te hekenga angitu. A ka taea e ratou te kawe i nga mahi ratonga Ko te whakahou whakamutunga i te marama ki muri, ara, kei te ora te kaupapa

Mo nga mea iti, koinei:

  • Kaore he whakatipuranga aunoa o nga heke
  • Kaore he hononga ki nga tauira EF
  • Karekau he whakaahua raraunga

He aha ta matou i whiriwhiri ai?

Te whakataurite me te kowhiringa o nga punaha hekenga raraunga

Ko nga tautohetohe wera e huri ana ki nga tawhā e rua - te whakaputa aunoa o nga hekenga me te whakatau tika o nga pakanga. Ko etahi atu mea he iti rawa te mataku. Ko te mutunga mai, i runga i nga hua o te korerorero, i whakatau te roopu ki te whakamahi i te Fluent Migrator i roto i te kaupapa hou. Na te mea ko te whakatau i nga tautohetohe a meake nei ka nui ake nga painga.

kitenga

Ko te tikanga, kaore he taputapu tino pai. No reira me whakarite maatau i o maatau "hiahia" ki te whiriwhiri. Heoi, mo etahi atu kapa me etahi atu mahi, ko etahi atu take ka whakatau. Ko te tumanako ka awhina tenei tuhinga ki a koe ki te whiriwhiri.

Source: will.com

Tāpiri i te kōrero