Fa'atusatusaga ma le filifilia o fa'amaumauga o femalagaiga

Fa'atusatusaga ma le filifilia o fa'amaumauga o femalagaiga

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:

  1. Lagolago mo DBMS eseese. MS SQL Server, PostgreSQL, Oracle e manaʻomia, ae e ono mafai ona faʻaoga isi
  2. 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
  3. 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
  4. 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.
  5. Fa'amaumauga maualuluga ma lagolago. O iinei, e foliga mai ia i matou, e leai se faʻamatalaga e manaʻomia
  6. 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:

  1. EF Autu Femalagaaiga
  2. DBup
  3. Fale Ta'amiloE
  4. ThinkingHome.Migrator
  5. Femalagaa'i lelei

Ma o lenei o sina faʻamatalaga atili

Fa'atusatusaga ma le filifilia o fa'amaumauga o femalagaiga
EntityFramework Autu Femalagaiga

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

Fa'atusatusaga ma le filifilia o fa'amaumauga o femalagaiga
dbup.github.io

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

Fa'atusatusaga ma le filifilia o fa'amaumauga o femalagaiga
github.com/chucknorris/roundhouse

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

Fa'atusatusaga ma le filifilia o fa'amaumauga o femalagaiga

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. Na tusia e le tagata faʻapipiʻi lava e uiga i lana lomiga lata mai toeitiiti atoa le tausaga talu ai.

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

Fa'atusatusaga ma le filifilia o fa'amaumauga o femalagaiga
github.com/fluentmigrator/fluentmigrator

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?

Fa'atusatusaga ma le filifilia o fa'amaumauga o femalagaiga

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

Faaopoopo i ai se faamatalaga