рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЪрдпрди

рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЪрдпрди

рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЪрдпрди

рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдмрджрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ ORM рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдПрдЧрд╛ рдЬреЛ рдореЙрдбрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛ рдХрд╛ рдиреБрдХрд╕рд╛рди рд╣реЛрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдХрд╛рд░реНрдп рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐, рд╕реНрдХреАрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрд╣ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛ рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдЯреВрд▓ рдкрд░ рдЧреМрд░ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рдореАрдХреНрд╖рд╛ рд╕рдорд╛рди рд╡рд┐рдХрд▓реНрдк рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред

рдХрд╛рд░реНрдп

рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЕрдЧрд▓реА рдкреАрдврд╝реА рдХреЗ рдЙрддреНрдкрд╛рдж - рдбреЙрдХреНрд╕ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА рд╕реВрдЯ (рдбреАрдПрд╕рдПрд╕) рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣реА рд╣реИред рд╕рд░реНрд╡рд░ рднрд╛рдЧ .Net Core рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ Entity Framework Core рдХрд╛ рдЙрдкрдпреЛрдЧ DBMS рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдХреЛрдб рдлрд░реНрд╕реНрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЛрдореЗрди рдореЙрдбрд▓ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдкреНрд░рддреНрдпреЗрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдкрдиреЗ рддрд╛рд░реНрдХрд┐рдХ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

DSS рдХреА рдкрд┐рдЫрд▓реА рдкреАрдврд╝реА рдиреЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди (EF 6) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреБрдЫ рд╢рд┐рдХрд╛рдпрддреЗрдВ рдЬрдорд╛ рд╣реБрдИ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдореБрдЦреНрдп рдпрд╣ рд╣реИ рдХрд┐ рдИрдПрдл рдХреЗ рдкрд╛рд╕ рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рд╡рд╛рджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордЭрджрд╛рд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЕрднрд╛рд╡ рд╣реИред рд╕рдорд░реНрдерди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдЧреНрд╕ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рддрдереНрдп рдЕрднреА рднреА рд╣рдореЗрдВ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рдЪрд░реНрдЪрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреНрд░рд╡рд╛рд╕рди рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдмрдирд╛рдИ рдЧрдИрдВ:

  1. рд╡рд┐рднрд┐рдиреНрди DBMS рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди. MS SQL рд╕рд░реНрд╡рд░, PostgreSQL, Oracle рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реИ
  2. рдУрдЖрд░рдПрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдИрдПрдл рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдбрд┐рдЬрд╛рдЗрди рдЪрд░рдг рдореЗрдВ рд╣рдо рдЕрдиреНрдп рдУрдЖрд░рдПрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдереЗ
  3. рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реАред рдХреЛрдб рдлрд░реНрд╕реНрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдореИрдВ "рд╣рд╛рде рд╕реЗ рд▓рд┐рдЦрдиреЗ" рд╡рд╛рд▓реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛
  4. рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рд░реЛрдз. рд╡рд┐рддрд░рд┐рдд рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ, рд╡рд┐рд▓рдп рдХрд░рддреЗ рд╕рдордп, рдИрдПрдл рдХреЛрд░ рд╕рдВрдШрд░реНрд╖реЛрдВ рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рдмрди рдЬрд╛рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рдЦрд░реНрдЪ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ
  5. рдЙрдиреНрдирдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рд╕рдорд░реНрдердиред рдпрд╣рд╛рдБ, рд╣рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдХрд┐рд╕реА рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
  6. рдореБрдХреНрддред рдорд╛рдирджрдВрдб рд╕рд╢рд░реНрдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдмрд╣реБрдд рдорд╣рдВрдЧреЗ рдпрд╛ рдорд╣рдБрдЧреЗ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдЖрджрд░реНрд╢ рд╣реИрдВ, рд╣рдо рдЗрд╕ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдереЗ

рдереЛрдбрд╝реЗ рд╕реЗ рд╢реЛрдз рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рдкрд╛рдП рдЧрдП рдФрд░ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрдиреАрдп рдкрд╛рдП рдЧрдП:

  1. рдИрдПрдл рдХреЛрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди
  2. рдбреАрдмреАрдпреВрдкреА
  3. рд░рд╛рдЙрдВрдбрд╣рд╛рдЙрд╕рдИ
  4. рдерд┐рдВрдХрд┐рдВрдЧрд╣реЛрдо.рдкреНрд░рд╡рд╛рд╕реА
  5. рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рдкреНрд░рд╡рд╛рд╕реА

рдФрд░ рдЕрдм рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╡рд░рдг

рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЪрдпрди
рдПрдВрдЯрд┐рдЯреАрдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдЪреБрдирдиреЗ рдХрд╛ рдкрд╣рд▓рд╛ рдФрд░ рдореБрдЦреНрдп рд╡рд┐рдХрд▓реНрдк рдерд╛ред рдПрдХ рджреЗрд╢реА рд╡рд╛рджреНрдп рдпрдВрддреНрд░ рдЬреЛ рдбрдл рдХреЗ рд╕рд╛рде рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХреЗ рд▓реАрдХ рд╕реЗ рд╣рдЯрдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ, рд╕рд╛рджрдЧреА, рдЖрджрд┐ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреНрд▓рд╛рд╕рд┐рдХ EF рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреА рдЧрдИ рд╢рд┐рдХрд╛рдпрддреЗрдВ EF Core рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдлреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдИрдПрдл рдХреЛрд░ рдХреЗ рд▓рд╛рднреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ:

  • Microsoft рд╕рдорд░реНрдерди, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг, рдЬрд┐рд╕рдореЗрдВ рд░реВрд╕реА рднрд╛рд╖рд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рд╡рд┐рд╢рд╛рд▓ рд╕рдореБрджрд╛рдп
  • рдХреЛрдбрдлрд░реНрд╕реНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдСрдЯреЛ-рдЬрдирд░реЗрд╢рди
  • EF 6 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, EF Core рдЕрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреЛрдб рдлрд░реНрд╕реНрдЯ рдореЗрдВ рдИрдПрдл рдХреЛрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд░рд╣ рдЬрд╛рддрд╛ рд╣реИ
  • рдЪреВрдВрдХрд┐ рд╣рдо рдХреЛрдб рдлрд░реНрд╕реНрдЯ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ
  • рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, PostgreSQL рд╕рдорд░реНрдерд┐рдд рд╣реИ, Oracle рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдЖрджрд┐, рдЖрджрд┐, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ MS SQL рд╕рд░реНрд╡рд░ яБК

рдФрд░ рдиреБрдХрд╕рд╛рди рднреА:

  • рд╕рдВрдШрд░реНрд╖ рд╕рдорд╛рдзрд╛рди рдЙрд╕реА рд╕реНрддрд░ рдкрд░ рд░рд╣рд╛ред рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рдирд╛ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
  • рдЙрди рдореЙрдбрд▓реЛрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬрд┐рди рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ

рдбреАрдмреАрдЕрдк

рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЪрдпрди
dbup.github.io

DbUp рдПрдХ .NET рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ NuGet рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЧрдИ рд╣реИ рдФрд░ SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред рдпрд╣ рдЯреНрд░реИрдХ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реА рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рд▓реЗ рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рдЪреБрдХреА рд╣реИ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреА рд╣реИред рд▓рд╛рдЗрдмреНрд░реЗрд░реА ASP.NET рдкрд░ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдмреНрд▓реЙрдЧрд┐рдВрдЧ рдЗрдВрдЬрди рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдИ рд╣реИ рдФрд░ MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдореМрдЬреВрдж рд╣реИ, рдФрд░ рдХреЛрдб GitHub рдкрд░ рд╣реИред рдЯреА-рдПрд╕рдХреНрдпреВрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдлрд╛рдпрджреЗ рдХреНрдпрд╛ рд╣реИрдВ:

  • рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ DBMS (MS SQL рд╕рд░реНрд╡рд░, PstgreSQL, MySQL) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
  • рдЪреВрдВрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреА-рдПрд╕рдХреНрдпреВрдПрд▓ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдХрд╛рдлреА рд╕рд░рд▓ рджрд┐рдЦрддреА рд╣реИрдВ
  • SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рд╡рд┐рд╡рд╛рджреЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдФрд░ рд╡рд┐рдкрдХреНрд╖:

  • рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдорд░реНрдерд┐рдд DBMS рдХреЗ рд╕рд╛рде, Oracle рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдирд╣реАрдВ рд╣реИ
  • ORM рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛
  • рдЯреА-рдПрд╕рдХреНрдпреВрдПрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣рд╛рде рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдирд╣реАрдВ рд╣реИ
  • рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рд╕рдореБрджрд╛рдп рдРрд╕реЗ рд╣реА рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐ SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡реЗ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рд░рд╛рдЙрдВрдбрд╣рд╛рдЙрд╕рдИ

рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЪрдпрди
github.com/chucknorris/roundhouse

рдЕрдкрд╛рдЪреЗ 2.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдпрд╣ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдг, рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рдХреА рддрд░рд╣, рдЯреА-рдПрд╕рдХреНрдпреВрдПрд▓ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЗрдВрдЬрди рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдПрдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдбреАрдмреАрдПрдордПрд╕ рд╕рдорд░реНрдерди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреАред

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  • рдЖрд╡рд╢реНрдпрдХ DBMS (Oracle рд╕рд╣рд┐рдд) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ

рд╡рд┐рдкрдХреНрд╖:

  • Oracle (рд╕рд╛рде рд╣реА рдПрдХреНрд╕реЗрд╕, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ) .NET рдХреЛрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ .NET рдлреБрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИ
  • ORM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛
  • рдкрд┐рдЫрд▓реЗ рдЯреВрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рднреА рдХрдо рд╣реИ
  • рдкреБрдирдГ - рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ

рдерд┐рдВрдХрд┐рдВрдЧрд╣реЛрдо.рдкреНрд░рд╡рд╛рд╕реА

рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЪрдпрди

MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд .NET рдХреЛрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдгред рдбреЗрд╡рд▓рдкрд░ рдиреЗ рд╕реНрд╡рдпрдВ рд▓рдЧрднрдЧ рдПрдХ рд╡рд░реНрд╖ рдкрд╣рд▓реЗ рдЗрд╕рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛.

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  • .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛
  • рдкреНрд░рд╡рд╛рд╕рди рдХрд╛ рдПрдХ рд╢рд╛рдЦрд╛рдмрджреНрдз рдЕрдиреБрдХреНрд░рдо рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛
  • рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓реЙрдЧрд┐рдВрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЧрдИ

рд╡рд┐рдкрдХреНрд╖:

  • рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛. рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ
  • Oracle рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ (рд▓реЗрдЦ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рд╣реИ - рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдХреА рдмрд╛рдд рд╣реИ)
  • рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдХреЛрдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдирд╣реАрдВ

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрд╢рд╛рдЬрдирдХ рджрд┐рдЦрддреА рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЗрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдпрд╣реАрдВ рдФрд░ рдЕрднреА рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рдкреНрд░рд╡рд╛рд╕реА

рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЪрдпрди
github.com/fluentmigrator/fluentmigrator

рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕реЗрдирд╛ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЯреВрд▓ред рдЕрдкрд╛рдЪреЗ 2.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рддред рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд╕рдорд╛рди .NET рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди C# рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред

рдпрд╣рд╛рдБ рдлрд╛рдпрджреЗ рд╣реИрдВ:

  • рдЖрд╡рд╢реНрдпрдХ DBMS рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
  • .NET рдХреЛрд░ рд╕рдорд░реНрдерди
  • рдмрдбрд╝рд╛ рд╡рд┐рдХрд╕рд┐рдд рд╕рдореБрджрд╛рдп
  • рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдмреАрдЪ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдХреНрд░рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдХреЛрдб рдХреЛ рдорд░реНрдЬ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЗрдХрд╛рдИ рдХреЛ рд▓реЗрдХрд░ рдХреЛрдИ рд╡рд┐рд░реЛрдз рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрд╛рдХреА рдХреЛрдб рдХреА рддрд░рд╣ рд╣реА рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдРрд╕реА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдлрд▓ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рд╡реЗ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдВрддрд┐рдо рдЕрджреНрдпрддрди рдПрдХ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдерд╛, рдпрд╛рдиреА, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬреАрд╡рд┐рдд рд╣реИ

рдЬрд╣рд╛рдБ рддрдХ рд╡рд┐рдкрдХреНрд╖ рдХреА рдмрд╛рдд рд╣реИ, рд╡реЗ рдпрд╣рд╛рдБ рд╣реИрдВ:

  • рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдХреЛрдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдирд╣реАрдВ
  • рдИрдПрдл рдореЙрдбрд▓ рд╕реЗ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ
  • рдХреЛрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдиреИрдкрд╢реЙрдЯ рдирд╣реАрдВ

рд╣рдорд╛рд░реА рдкрд╕рдВрдж рдХреНрдпрд╛ рдереА?

рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЪрдпрди

рдЧрд░рдорд╛рдЧрд░рдо рдмрд╣рд╕реЗрдВ рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЗрд░реНрдж-рдЧрд┐рд░реНрдж рдШреВрдорддреА рд░рд╣реАрдВ - рдкреНрд░рд╡рд╛рд╕рди рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдФрд░ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХрд╛ рд╡рд┐рд╡реЗрдХрдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рдиред рдЕрдиреНрдп рдХрд╛рд░рдХ рдмрд╣реБрдд рдХрдо рднрдпрд╛рд╡рд╣ рдереЗред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЪрд░реНрдЪрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЯреАрдо рдиреЗ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдлрд╝реНрд▓реБрдПрдВрдЯ рдорд╛рдЗрдЧреНрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдХреНрдпреЛрдВрдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЭрдЧрдбрд╝реЛрдВ рдХреЛ рд╕реБрд▓рдЭрд╛рдиреЗ рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд▓рд╛рдн рдорд┐рд▓реЗрдЧрд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖

рдирд┐рдГрд╕рдВрджреЗрд╣, рдХреЛрдИ рднреА рдЙрддреНрддрдо рдЙрдкрдХрд░рдг рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЪреБрдирд╛рд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА "рдЗрдЪреНрдЫрд╛рдУрдВ" рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреА рд╣реЛрдЧреАред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдиреНрдп рдЯреАрдореЛрдВ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдиреНрдп рдХрд╛рд░рдХ рдирд┐рд░реНрдгрд╛рдпрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рдЪреБрдирд╛рд╡ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ