Fa'atusatusaga ma le filifilia o fa'amaumauga o femalagaiga
O le faʻataʻitaʻiga faʻamatalaga e foliga mai e suia i le taimi o le atinaʻe, ma i se taimi e le toe fetaui ma le database. Ioe, e mafai ona tape le faʻamaumauga, ona faia lea e le ORM se faʻamatalaga fou e fetaui ma le faʻataʻitaʻiga, ae o lenei faiga o le a taʻitaʻia ai le leiloa o faʻamaumauga o loʻo iai. O le mea lea, o le galuega a le faiga o femalagaiga o le faʻamautinoa lea, o se taunuuga o se suiga o le polokalame, o loʻo tuʻufaʻatasia ma le faʻataʻitaʻiga faʻamaumauga i totonu o le talosaga e aunoa ma le leiloa o faʻamatalaga o loʻo iai.
I lenei tusiga, matou te fia vaʻavaʻai i meafaigaluega eseese mo le puleaina o femalagaiga o faʻamaumauga. Matou te faʻamoemoe o lenei iloiloga o le a aoga mo tagata atiaʻe o loʻo feagai ma se filifiliga tutusa.
Faamoemoega
O lo'o fa'agasolo nei la matou kamupani le atina'eina o le isi augatupulaga o oloa - Docs Security Suite (DSS). O le vaega o le server o lo'o tusia i le .Net Core, ma le Entity Framework Core o lo'o fa'aaogaina e fai ma DBMS. Pe a mamanuina se talosaga, matou te faʻaogaina le Code First approach.
O le faʻataʻitaʻiga o le faʻaoga o loʻo faia e le tele o tagata atiaʻe i le taimi e tasi - e nafa ma latou lava vaega talafeagai o le faiga.
O le fa'asologa muamua o le DSS na fa'aogaina le fa'amanino o le Entity Framework Migrations (EF 6) e fai ma faiga fa'afoe o femalagaiga. Ae ui i lea, o nisi faʻasea ua faʻaputuina e faasaga i ai, o le mea autu o le EF e leai se auala talafeagai e foia ai feteʻenaʻiga. O lenei mea moni e faʻanoanoa ai i matou pe a faʻapipiʻi bug o se vaega o le lagolago, o lea na matou filifili ai e mafaufau i isi filifiliga.
O se taunuuga o le talanoaga, na fausia ai manaoga nei mo le pulega o femalagaiga:
- Lagolago mo DBMS eseese. MS SQL Server, PostgreSQL, Oracle e manaʻomia, ae e ono mafai ona faʻaoga isi
- Galulue ma le ORM. I le taimi muamua, na fuafua e faʻaaoga le EF Core, ae i le tulaga o le mamanu na matou sauni e mafaufau i isi ORM
- Auto-fausiaina o femalagaiga. I le amanaia o le atinaʻeina o Code First, ou te manaʻo e aloese mai le manaʻoga e "tusilima-tusi" femalagaiga
- Fa'aliliuga fete'ena'iga. I se si'osi'omaga atina'e tufatufaina, pe a tu'ufa'atasia, e mafai ona mafatia le EF Core i fete'ena'iga. E avea lea ma faʻafitauli taua ona o vaega eseese o le talosaga e faia e tagata atinaʻe eseese, o lea e tatau ai ona e faʻaaluina le tele o le taimi i luga o taʻitasi.
- Fa'amaumauga maualuluga ma lagolago. O iinei, e foliga mai ia i matou, e leai se faʻamatalaga e manaʻomia
- Sa'oloto. O le faʻataʻitaʻiga e tuʻufaʻatasia, talu ai o faiga e le taugata tele pe taugata, ae lelei i le faʻaogagofie, sa matou sauni foi e mafaufau
O se taunuuga o sina suʻesuʻega, o mea nei na maua ma maua e manaʻomia mo le iloiloina:
- EF Autu Femalagaaiga
- DBup
- Fale Ta'amiloE
- ThinkingHome.Migrator
- Femalagaa'i lelei
Ma o lenei o sina faʻamatalaga atili
E masani lava, o le filifiliga muamua lea ma le autu e filifili ai. O se meafaifaaili masani e galue mai le atigipusa e aunoa ma se milo i se topa. Ole tele o faʻamaumauga, aloaʻia ae le o lea, faigofie, ma isi. Ae ui i lea, o faʻasea na faia e uiga i le EF masani e talafeagai foi mo le EF Core.
O le mea lea, o faʻamanuiaga mo le EF Core ua faʻamaonia:
- Microsoft lagolago, faʻamaumauga, e aofia ai i Rusia, lautele lautele
- Otometi fa'atupuina o femalagaiga fa'avae ile CodeFirst
- Pe a faatusatusa i le EF 6, ua le toe teuina e le EF Core se ata o le database. A'o galue ma le EF Core i le Code First, ua le toe mana'omia le fa'apipi'iina o se fa'amaumauga
- Talu ai o loʻo matou sisiva mai le Code First, e mafai ona faʻatautaia se tasi o femalagaiga i faʻamatalaga uma e manaʻomia
- E tusa ai ma kamupani, PostgreSQL e lagolagoina, Oracle e lagolagoina, ma isi, ma isi, ma e oʻo lava i le MS SQL Server
Ma faʻapea foʻi mea le lelei:
- Sa tumau pea le foia o feeseeseaiga i le tulaga lava e tasi. E mana'omia le fa'asologa o femalagaiga ma fa'afou fa'amaumauga fa'amaumauga
- Fa'alagolago i fa'ata'ita'iga o lo'o fa'atupuina ai femalagaiga
DbUp
O le DbUp o se faletusi .NET o loʻo faʻapipiʻiina e NuGet ma fesoasoani e tulei suiga ile SQL Server. O lo'o fa'amaumauina po'o fea suiga o fa'amaumauga ua uma ona fa'atinoina ma fa'atautaia mea e mana'omia e fa'afou ai fa'amaumauga. O le faletusi na tupu aʻe mai se poloketi mo se masini blogging punaoa tatala ile ASP.NET ma o loʻo iai i lalo ole laisene MIT, ma o le code o loʻo i luga ole GitHub. O femalagaiga o loʻo faʻamatalaina e faʻaaoga ai le T-SQL.
O a mea lelei:
- Lagolago mo se numera tele o DBMS (MS SQL Server, PstgreSQL, MySQL)
- Talu ai o tusitusiga o loʻo tusia i le T-SQL, e foliga faigofie lava
- E fo'ia fo'i fete'ena'iga e fa'aoga ai le SQL
Ma le leaga:
- Faatasi ai ma ituaiga uma o DBMS lagolago, Oracle e le o se tasi oi latou
- E le fegalegaleai ma le ORM
- O le tusiaina o tusitusiga T-SQL i le lima e le o le mea lea na matou faʻamoemoe i ai
- O faʻamaumauga ma faʻalapotopotoga e faʻapea, e ui lava i tulaga o le tusiaina o tusitusiga SQL atonu latou te le manaʻomia.
Fale Ta'amiloE
O lenei meafaigaluega faʻatautaia femalagaiga, tufatufaina i lalo o le Apache 2.0 laisene, e pei o le muamua, o loʻo tamoʻe i luga o le T-SQL migration engine. E foliga mai, na faʻamuamua e le au atinaʻe le foia o faʻafitauli faʻapitoa e uiga i le lagolago a le DBMS, nai lo le faia o se faʻagasologa faʻalelei lelei.
Pros:
- Lagolago le DBMS talafeagai (e aofia ai Oracle)
Cons:
- Oracle (fa'apea foi ma le Avanoa, lea e le taua mo i tatou) e le o lagolagoina i le .NET Core, na'o le .NET Full Framework
- E le aoga i le ORM
- E itiiti lava faʻamaumauga nai lo le meafaigaluega muamua
- Toe fa'apea - o femalaga'iga e tusia i tusitusiga
ThinkingHome.Migrator
O se meafaigaluega mo le fa'aliliuina o fa'amaumauga o fa'amaumauga fa'amaumauga i le .NET Core platform, fa'asoa i lalo ole laisene MIT.
Pros:
- Fuafuaina mo .NET Core
- Fa'atino se fa'asologa fa'asolosolo o femalagaiga
- Fa'atinoina le fa'amauina o femalagaiga
Cons:
- Fa'afouga mulimuli ile tausaga talu ai. E foliga mai e le o lagolagoina le poloketi
- E le lagolagoina e Oracle (o le tala o loʻo taʻu mai e mafua ona o le leai o se faʻatinoga mautu mo .NET Core - ae o le tausaga talu ai)
- Leai se gaosiga otometi o femalagaiga
I le aotelega, o le poloketi e foliga mai e manuia, aemaise lava pe a fai e atiaʻe, ae e tatau ona matou faia se faʻaiuga iinei ma le taimi nei.
Femalagaa'i lelei
Le meafaigaluega femalagaa'i sili ona lauiloa ma se autau tele o tagata fiafia. Fa'asoa i lalo ole laisene Apache 2.0. E pei ona taʻua i le faʻamatalaga, o se faʻavae femalagaiga mo .NET, tutusa ma Ruby on Rails Migrations. Suiga i le faʻamaumauga faʻamaumauga o loʻo faʻamatalaina i vasega C #.
E iai fa'amanuiaga iinei:
- Lagolago mo DBMS manaʻomia
- .NET Core lagolago
- Nuu tetele ua atia'e
- Fete'ena'iga i le va o femalaga'iga e fofo fa'asolosolo-o le fa'atonuga o le fa'atinoina o femalagaiga e fa'amaoti mai. E le gata i lea, afai e tulaʻi mai se feteʻenaʻiga i se tasi vaega, pe a tuʻufaʻatasia le code, e foia i le auala lava e tasi e pei o le isi vaega o le code.
- O lo'o iai fa'amatalaga e fa'atino pe a mae'a fa'amanuiaina le femalagaiga. Ma e mafai ona latou tauaveina galuega o auaunaga.O le faʻafouga mulimuli na faia i le masina talu ai, o lona uiga, o loʻo ola le poloketi
Ae mo minuses, o latou nei:
- Leai se gaosiga otometi o femalagaiga
- Leai se feso'ota'iga ma fa'ata'ita'iga EF
- Leai ni ata fa'amaumauga
O le a la tatou filifiliga?
O felafolafoaiga vevela na faʻataʻamilo i ni faʻataʻitaʻiga se lua - faʻatupuina otometi o femalagaiga ma fofo lelei o feeseeseaiga. O isi mea na sili atu ona tau le fefe. O se taunuuga, e tusa ai ma taunuuga o le talanoaga, na filifili ai le au e faʻaaoga le Fluent Migrator i le poloketi fou. Aua o le foia o feeseeseaiga i le lumanai o le a aumaia ai le tele o faamanuiaga.
sailiiliga
Ioe, e leai ni meafaigaluega atoatoa. O lea na tatau ai ona matou faʻamuamua o matou "manaʻo" e fai se filifiliga. Ae peita'i, mo isi 'au ma isi galuega, o isi mea e ono fa'ai'uina. Matou te faʻamoemoe o le a fesoasoani lenei tusiga ia te oe e fai se filifiliga.
puna: www.habr.com