ืคืึทืจื’ืœื™ื™ึทืš ืื•ืŸ ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขืžืขืŸ

ืคืึทืจื’ืœื™ื™ึทืš ืื•ืŸ ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขืžืขืŸ

ืคืึทืจื’ืœื™ื™ึทืš ืื•ืŸ ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขืžืขืŸ

ื“ื™ ื“ืึทื˜ืŸ ืžืึธื“ืขืœ ื˜ืขื ื“ื– ืฆื• ื˜ื•ื™ืฉืŸ ื‘ืขืฉืึทืก ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืจืึธืฆืขืก, ืื•ืŸ ืื™ืŸ ืขื˜ืœืขื›ืข ืคื•ื ื˜ ืขืก ืื™ื– ื ื™ื˜ ืžืขืจ ืงืึธืจืึทืกืคึผืึทื ื“ื– ืฆื• ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก. ืคื•ืŸ ืงื•ืจืก, ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืื•ื™ืกื’ืขืžืขืงื˜, ืื•ืŸ ื“ืขืจ ORM ื•ื•ืขื˜ ืžืึทื›ืŸ ืึท ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ื•ื•ืึธืก ื•ื•ืขื˜ ื’ืœื™ื™ึทื›ืŸ ื“ืขื ืžืึธื“ืขืœ, ืึธื‘ืขืจ ื“ืขื ืคึผืจืึธืฆืขื“ื•ืจ ื•ื•ืขื˜ ืคื™ืจืŸ ืฆื• ื“ื™ ืึธื ื•ื•ืขืจ ืคื•ืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื“ืึทื˜ืŸ. ืื–ื•ื™, ื“ื™ ืคื•ื ืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขื ืื™ื– ืฆื• ืขื ืฉื•ืจ ืึทื–, ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ืึท ืกื˜ืฉืขืžืึท ืขื ื“ืขืจื•ื ื’, ืขืก ืื™ื– ืกื™ื ื’ืงืจืึทื ื™ื™ื–ื“ ืžื™ื˜ ื“ื™ ื“ืึทื˜ืŸ ืžืึธื“ืขืœ ืื™ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึธืŸ ืœื•ื–ื™ื ื’ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื“ืึทื˜ืŸ.

ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ, ืžื™ืจ ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ืงื•ืงืŸ ืื™ืŸ ืคืึทืจืฉื™ื“ืŸ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธื ืคื™ืจื•ื ื’ ื“ืึทื˜ืึทื‘ื™ื™ืก ืžื™ื’ืจื™ื™ืฉืึทื ื–. ืžื™ืจ ื”ืึธืคืŸ ืึทื– ื“ื™ ืจืขืฆืขื ื–ื™ืข ื•ื•ืขื˜ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื•ื•ืึธืก ื”ืึธื‘ืŸ ืึท ืขื ืœืขืš ื‘ืจื™ืจื”.

ืึทืจื‘ืขื˜

ืื•ื ื“ื–ืขืจ ืคื™ืจืžืข ืื™ื– ื“ืขืจื•ื•ื™ื™ึทืœ ืึทืงื˜ื™ื•ื•ืœื™ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ื“ื™ ื•ื•ื™ื™ึทื˜ืขืจ ื“ื•ืจ ืคื•ืŸ ืคึผืจืึธื“ื•ืงื˜ - ื“ืึธืงืก ืกืขืงื•ืจื™ื˜ื™ ืกื•ื•ื™ื˜ (ื“ืกืก). ื“ืขืจ ืกืขืจื•ื•ืขืจ ื˜ื™ื™ืœ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ .ื ืขื˜ ืงืึธืจ, ืื•ืŸ ืขื ื˜ื™ื˜ื™ ืคืจืึทืžืขื•ื•ืึธืจืง ืงืึธืจ ืื™ื– ื’ืขื ื™ืฆื˜ ื•ื•ื™ ื“ื™ ื“ื‘ืžืก. ื•ื•ืขืŸ ื“ื™ื–ื™ื™ื ื™ื ื’ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ, ืžื™ืจ ื ื•ืฆืŸ ื“ื™ ืงืึธื“ ืขืจืฉื˜ืขืจ ืฆื•ื’ืึทื ื’.

ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคืขืœื“ ืžืึธื“ืขืœ ืื™ื– ื‘ืืฉืืคืŸ ื“ื•ืจืš ืขื˜ืœืขื›ืข ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ - ื™ืขื“ืขืจ ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ื–ื™ื™ืขืจ ืื™ื™ื’ืขื ืข ืœืึทื“ื–ืฉื™ืงืึทืœ ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ืกื™ืกื˜ืขื.

ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ื“ื•ืจ ืคื•ืŸ DSS ื’ืขื ื™ืฆื˜ ื“ื™ ืงืœืึทืกื™ืฉ ืขื ื˜ื™ื˜ื™ ืคืจืึทืžืขื•ื•ืึธืจืง ืžื™ื’ืจืึทื˜ื™ืึธื ืก (EF 6) ื•ื•ื™ ื“ื™ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืกื™ืกื˜ืขื. ืึธื‘ืขืจ, ืขื˜ืœืขื›ืข ื˜ืขื ื•ืช ื”ืึธื‘ืŸ ืึทืงื™ื•ืžื™ืึทืœื™ื™ื˜ื™ื“ ืงืขื’ืŸ ืขืก, ื“ื™ ื”ื•ื™ืคึผื˜ ืื™ื– ืึทื– EF ืคืขืœืŸ ืึท ื‘ืึทืž ื–ื™ื ืขืŸ ืฆื•ื’ืึทื ื’ ืฆื• ืกืึทืœื•ื•ื™ื ื’ ื•ื•ืขืจืกื™ืข ืงืื ืคืœื™ืงื˜ืŸ. ื“ืขืจ ืคืึทืงื˜ ื ืึธืš ื™ื‘ืขืจืงืขืจืŸ ืื•ื ื“ื– ื•ื•ืขืŸ ืคื™ืงืกื™ืจ ื‘ืึทื’ื– ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ืฉื˜ื™ืฆืŸ, ืึทื–ื•ื™ ืžื™ืจ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ื‘ืึทื˜ืจืึทื›ื˜ืŸ ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ืึธืคึผืฆื™ืขืก.

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื“ื™ืกืงื•ืกื™ืข, ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ืคึฟืึทืจ ื“ื™ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืกื™ืกื˜ืขื ื–ืขื ืขืŸ ื’ืขืฉืืคืŸ:

  1. ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืŸ ื“ื‘ืžืก. MS SQL Server, PostgreSQL, Oracle ื–ืขื ืขืŸ ืคืืจืœืื ื’ื˜, ืึธื‘ืขืจ ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ ืื ื“ืขืจืข
  2. ืึทืจื‘ืขื˜ ืžื™ื˜ ORM. ื˜ื›ื™ืœืขืก, ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืคึผืœืึทื ื ืขื“ ืฆื• ื ื•ืฆืŸ EF Core, ืึธื‘ืขืจ ืื™ืŸ ื“ื™ ืคึผืœืึทืŸ ื‘ื™ื ืข ืžื™ืจ ื–ืขื ืขืŸ ื’ืจื™ื™ื˜ ืฆื• ื‘ืึทื˜ืจืึทื›ื˜ืŸ ืื ื“ืขืจืข ืึธืจืžืก.
  3. ืึทื•ื˜ืึธ-ื“ื•ืจ ืคื•ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทื ื–. ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ืงืึธื“ ืขืจืฉื˜ืขืจ, ืื™ืš ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ื“ื™ ื ื•ื™ื˜ ืฆื• "ื”ืึทื ื“-ืฉืจื™ื™ึทื‘ืŸ" ืžื™ื™ื’ืจื™ื™ืฉืึทื ื–
  4. ื•ื•ืขืจืกื™ืข ืงืึธื ืคืœื™ืงื˜. ืื™ืŸ ืึท ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืกื•ื•ื™ื•ื•ืข, ื•ื•ืขืŸ ืžืขืจื“ื–ืฉื™ื ื’, EF Core ืงืขืŸ ืœื™ื™ื“ืŸ ืคื•ืŸ ืงืึธื ืคืœื™ืงื˜. ื“ืึธืก ื•ื•ืขืจื˜ ืึท ื‘ืึทื˜ื™ื™ื˜ื™ืง ืคึผืจืึธื‘ืœืขื ื•ื•ื™ื™ึทืœ ืคืึทืจืฉื™ื“ืขื ืข ืคึผืึทืจืฅ ืคื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื–ืขื ืขืŸ ื‘ืืฉืืคืŸ ื“ื•ืจืš ืคืึทืจืฉื™ื“ืขื ืข ื“ืขื•ื•ืขืœืึธืคึผืขืจืก, ืึทื–ื•ื™ ืื™ืจ ื”ืึธื‘ืŸ ืฆื• ืคืึทืจื‘ืจืขื ื’ืขืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืฆื™ื™ื˜ ืื•ื™ืฃ ื™ืขื“ืขืจ.
  5. ืึทื•ื•ืึทื ืกื™ืจื˜ืข ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืื•ืŸ ืฉื˜ื™ืฆืŸ. ื“ืึธ, ื“ืึทื›ื˜ ื–ื™ืš ืื•ื ื“ื–, ื“ืึทืจืฃ ืžืขืŸ ื ื™ืฉื˜ ืงื™ื™ืŸ ื“ืขืจืงืœืขืจื•ื ื’
  6. ืคืจื™ื™ึท. ื“ื™ ืงืจื™ื˜ืขืจื™ืึธืŸ ืื™ื– ืงืึทื ื“ื™ืฉืึทื ืึทืœ, ื•ื•ื™ื™ึทืœ ืกื™ืกื˜ืขืžืขืŸ ื–ืขื ืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืขืจ ื˜ื™ื™ึทืขืจ ืึธื“ืขืจ ื˜ื™ื™ึทืขืจ, ืึธื‘ืขืจ ื™ื“ืขืึทืœ ืื™ืŸ ืงืึทื ื•ื•ื™ื ื™ืึทื ืก, ืžื™ืจ ื–ืขื ืขืŸ ืื•ื™ืš ื’ืจื™ื™ื˜ ืฆื• ื‘ืึทื˜ืจืึทื›ื˜ืŸ

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ืึท ื‘ื™ืกืœ ืคืึธืจืฉื•ื ื’, ื“ื™ ืคืืœื’ืขื ื“ืข ืึธืคึผืฆื™ืขืก ื–ืขื ืขืŸ ื’ืขืคึฟื•ื ืขืŸ ืื•ืŸ ื’ืขืคึฟื•ื ืขืŸ ื“ื™ื–ื™ื™ืจืึทื‘ืึทืœ ืคึฟืึทืจ ื‘ืึทื˜ืจืึทื›ื˜ื•ื ื’:

  1. EF ืงืึธืจ ืžื™ื’ืจืึทื˜ื™ืึธื ืก
  2. DBup
  3. RoundhouseE
  4. ThinkingHome.Migrator
  5. ื’ืœืึทื˜ ืžื™ื’ืจืึทื˜ืึธืจ

ืื•ืŸ ืื™ืฆื˜ ืึท ื‘ื™ืกืœ ืžืขืจ ื“ืขื˜ืึทืœ

ืคืึทืจื’ืœื™ื™ึทืš ืื•ืŸ ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขืžืขืŸ
ืขื ื˜ื™ื˜ื™ืคืจืึทืžืขื•ื•ืึธืจืง ืงืึธืจ ืžื™ื’ืจืึทื˜ื™ืึธื ืก

ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš, ื“ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืื•ืŸ ื”ื•ื™ืคึผื˜ ืึธืคึผืฆื™ืข ืฆื• ืงืœื™ื™ึทื‘ืŸ. ื ื’ืขื‘ื•ื™ืจืขื ืขืจ ืื™ื ืกื˜ืจื•ืžืขื ื˜ ื•ื•ืืก ืืจื‘ืขื˜ ืืจื•ื™ืก ืคื•ืŸ ืงืขืกื˜ืœ ืืŸ ืงื™ื™ืŸ ืคื™ื“ืœ ืžื™ื˜ ื ื˜ืืžื‘ื•ืจื™ืŸ. ื ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ, ื‘ืึทืึทืžื˜ืขืจ ืื•ืŸ ื ื™ื˜ ืึทื–ื•ื™, ืคึผืึทืฉื˜ืขืก, ืืื–"ื• ื•. ืึธื‘ืขืจ, ื“ื™ ื˜ืขื ื•ืช ื•ื•ืขื’ืŸ ืงืœืึทืกื™ืฉ EF ื–ืขื ืขืŸ ืื•ื™ืš ื’ืึทื ืฅ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ืคึฟืึทืจ EF Core.

ืื–ื•ื™, ื“ื™ ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื– ืคึฟืึทืจ EF Core ื–ืขื ืขืŸ ื›ื™ื™ืœื™ื™ื˜ื™ื“:

  • ืžื™ืงืจืึธืกืึธืคื˜ ืฉื˜ื™ืฆืŸ, ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ืจื•ืกื™ืฉ, ืจื™ื–ื™ืง ืงื”ืœ
  • ืึทื•ื˜ืึธ-ื“ื•ืจ ืคื•ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทื ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืงืึธื“ืขืคื™ืจืกื˜
  • ืงืึทืžืคึผืขืจื“ ืฆื• EF 6, EF Core ื ื™ื˜ ืžืขืจ ืกื˜ืึธืจื– ืึท ืžืึธืžืขื ื˜ื‘ื™ืœื“ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก. ื•ื•ืขืŸ ืื™ืจ ืึทืจื‘ืขื˜ ืžื™ื˜ EF Core ืื™ืŸ ืงืึธื“ ืขืจืฉื˜ืขืจ, ืขืก ืื™ื– ื ื™ื˜ ืžืขืจ ื ื™ื™ื˜ื™ืง ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ ืึท ื“ืึทื˜ืึทื‘ื™ื™ืก
  • ื–ื™ื ื˜ ืžื™ืจ ื“ืึทื ืกื™ื ื’ ืคึฟื•ืŸ ืงืึธื“ ืขืจืฉื˜ืขืจ, ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืึธื ืคื™ืจืŸ ืื™ื™ืŸ ืžื™ื’ืจืึทื˜ื™ืึธืŸ ืฆื• ืึทืœืข ืคืืจืœืื ื’ื˜ ื“ืึทื˜ืŸ ืึทืงืกืขืก ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื–
  • ื•ื•ืขื’ืŸ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื–, PostgreSQL ืื™ื– ื’ืขืฉื˜ื™ืฆื˜, ืึธืจืึทืงืœืข ืื™ื– ื’ืขืฉื˜ื™ืฆื˜, ืืื–"ื• ื•, ืืื–"ื• ื•, ืื•ืŸ ืืคื™ืœื• MS SQL Server ๏Š

ืื•ืŸ ืื•ื™ืš ื“ื™ ื—ืกืจื•ื ื•ืช:

  • ืงืึธื ืคืœื™ืงื˜ ื”ืึทื›ืœืึธื˜ืข ืคืืจื‘ืœื™ื‘ืŸ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืžื“ืจื’ื”. ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ืกื™ืงื•ื•ืึทื ืก ืžื™ื™ื’ืจื™ื™ืฉืึทื ื– ืื•ืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื“ืึทื˜ืึทื‘ื™ื™ืก ืกื ืึทืคึผืฉืึทืฅ
  • ืึธืคืขื ื’ื™ืงื™ื™ึทื˜ ืื•ื™ืฃ ื“ื™ ืžืึธื“ืขืœืก ืื•ื™ืฃ ื•ื•ืึธืก ื“ื™ ืžื™ื™ื’ืจื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“

ื“ื‘ื•ืคึผ

ืคืึทืจื’ืœื™ื™ึทืš ืื•ืŸ ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขืžืขืŸ
dbup.github.io

ื“ื‘ื•ืคึผ ืื™ื– ืึท. ื ืขืฅ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื•ื•ืึธืก ืื™ื– ืื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื•ืจืš NuGet ืื•ืŸ ื”ืขืœืคึผืก ืฆื• ืฉื˜ื•ืคึผืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ืกืงืœ ืกืขืจื•ื•ื™ืจืขืจ. ืขืก ื”ืืœื˜ ืฉืคึผื•ืจ ืคื•ืŸ ื•ื•ืึธืก ื˜ื•ื™ืฉืŸ ืกืงืจื™ืคึผืก ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืื•ืŸ ืœื•ื™ืคื˜ ื™ืขื ืข ื•ื•ืึธืก ื–ืขื ืขืŸ ื ื™ื™ื˜ื™ืง ืฆื• ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก. ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื’ืขื•ื•ืืงืกืŸ ืคื•ืŸ ืึท ืคึผืจื•ื™ืขืงื˜ ืคึฟืึทืจ ืึทืŸ ืึธืคึฟืŸ ืžืงื•ืจ ื‘ืœืึธื’ื’ื™ื ื’ ืžืึธื˜ืึธืจ ืื•ื™ืฃ ASP.NET ืื•ืŸ ื™ื’ื–ื™ืกืฅ ืื•ื ื˜ืขืจ ืึท MIT ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ, ืื•ืŸ ื“ื™ ืงืึธื“ ืื™ื– ืื•ื™ืฃ GitHub. ืžื™ื’ืจืึทื˜ื™ืึธื ืก ื–ืขื ืขืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ืžื™ื˜ T-SQL.

ื•ื•ืึธืก ื–ืขื ืขืŸ ื“ื™ ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื–:

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ DBMS (MS SQL Server, PstgreSQL, MySQL)
  • ื–ื™ื ื˜ ื“ื™ ืกืงืจื™ืคึผืก ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ T-SQL, ื–ื™ื™ ืงื•ืงืŸ ื’ืึทื ืฅ ืคึผืฉื•ื˜
  • ืงืึธื ืคืœื™ืงืฅ ื–ืขื ืขืŸ ืื•ื™ืš ืจื™ื–ืึทืœื•ื•ื“ ืžื™ื˜ SQL

ืื•ืŸ ื“ื™ ื—ืกืจื•ื ื•ืช:

  • ืžื™ื˜ ืึทืœืข ื“ื™ ืคืึทืจืฉื™ื™ื“ื ืงื™ื™ึทื˜ ืคื•ืŸ ืฉื˜ื™ืฆื˜ ื“ื‘ืžืก, ืึธืจืึทืงืœืข ืื™ื– ื ื™ืฉื˜ ืื™ื™ื ืขืจ ืคื•ืŸ ื–ื™ื™
  • ื˜ื•ื˜ ื ื™ืฉื˜ ื™ื ื˜ืขืจืึทืงื˜ ืžื™ื˜ ORM
  • ืฉืจื™ื™ื‘ืŸ T-SQL ืกืงืจื™ืคึผืก ืžื™ื˜ ื”ืึทื ื˜ ืื™ื– ื ื™ืฉื˜ ื•ื•ืึธืก ืžื™ืจ ื”ืึธื‘ืŸ ืึทื™ืžืขื“ ืคึฟืึทืจ
  • ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืื•ืŸ ืงื”ืœ ื–ืขื ืขืŸ ืึทื–ื•ื™-ืึทื–ื•ื™, ื›ืึธื˜ืฉ ืื™ืŸ ื˜ืขืจืžื™ื ืขืŸ ืคื•ืŸ ืฉืจื™ื™ื‘ืŸ SQL ืกืงืจื™ืคึผืก ื–ื™ื™ ืงืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื ื™ื™ื˜ื™ืง.

RoundhouseE

ืคืึทืจื’ืœื™ื™ึทืš ืื•ืŸ ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขืžืขืŸ
github.com/chucknorris/roundhouse

ื“ืขื ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ื’ืขืฆื™ื™ึทื’, ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ Apache 2.0 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ, ื•ื•ื™ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืื™ื™ื ืขืจ, ืœื•ื™ืคื˜ ืื•ื™ืฃ ื“ื™ T-SQL ืžื™ื’ืจืึทื˜ื™ืึธืŸ ืžืึธื˜ืึธืจ. ืžืฉืžืขื•ืช, ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืคึผืจื™ื™ืึธืจืึทื˜ื™ื™ื–ื“ ืกืึทืœื•ื•ื™ื ื’ ื˜ืขื›ื ื™ืฉ ืคึผืจืึธื‘ืœืขืžืก ื•ื•ืขื’ืŸ DBMS ืฉื˜ื™ืฆืŸ, ืืœื ื•ื•ื™ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื‘ืึทืงื•ื•ืขื ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืจืึธืฆืขืก.

ืคึผืจืึธืก:

  • ืฉื˜ื™ืฆื˜ ื“ื™ ื ื™ื™ื˜ื™ืง DBMS (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ Oracle)

ืงืึธื ืก:

  • ืึธืจืึทืงืœืข (ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืึทืงืกืขืก, ื•ื•ืึธืก ืื™ื– ื™ืจืขืœืึทื•ื•ืึทื ื˜ ืคึฟืึทืจ ืื•ื ื“ื–) ืื™ื– ื ื™ืฉื˜ ื’ืขืฉื˜ื™ืฆื˜ ืื•ื™ืฃ. ื ืขืฅ ืงืึธืจ, ื‘ืœื•ื™ื– ืื•ื™ืฃ. ื ืขืฅ ื’ืึทื ืฅ ืคืจืึทืžืขื•ื•ืึธืจืง
  • ืขืก ืึทืจื‘ืขื˜ ื ื™ืฉื˜ ืžื™ื˜ ORM
  • ืขืก ืื™ื– ืืคื™ืœื• ื•ื•ื™ื™ื ื™ืงืขืจ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ื•ื•ื™ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ื’ืขืฆื™ื™ึทื’
  • ื•ื•ื™ื“ืขืจ - ืžื™ื™ื’ืจื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ ื“ื•ืจืš ืกืงืจื™ืคึผืก

ThinkingHome.Migrator

ืคืึทืจื’ืœื™ื™ึทืš ืื•ืŸ ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขืžืขืŸ

ื ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ ื•ื•ืขืจืกื™ื™ืขื“ ื“ืึทื˜ืึทื‘ื™ื™ืก ืกื˜ืฉืขืžืึท ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืฆื• ื“ื™. ื ืขืฅ ืงืึธืจ ืคึผืœืึทื˜ืคืึธืจืžืข, ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ MIT ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ. ื“ืขืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ื–ื™ืš ื’ืขืฉืจื™ื‘ืŸ ื•ื•ืขื’ืŸ ื–ื™ื™ืŸ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืข ื›ึผืžืขื˜ ืึท ื™ืึธืจ ืฆื•ืจื™ืง.

ืคึผืจืึธืก:

  • ื“ื™ื–ื™ื™ื ื“ ืคึฟืึทืจ. ื ืขืฅ ืงืึธืจ
  • ื™ืžืคึผืœืึทืžืขื ื˜ืึทื“ ืึท ื‘ืจืึทื ื˜ืฉื™ื ื’ ืกื™ืงื•ื•ืึทื ืก ืคื•ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทื ื–
  • ื™ืžืคึผืœืึทืžืขื ืึทื“ ืžื™ื’ืจืึทื˜ื™ืึธืŸ ืœืึธื’ื™ื ื’

ืงืึธื ืก:

  • ืœืขืฆื˜ืข ื•ืคึผื“ืึทื˜ืขื“ ืึท ื™ืึธืจ ืฆื•ืจื™ืง. ืžืฉืžืขื•ืช ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ื– ื ื™ืฉื˜ ื’ืขืฉื˜ื™ืฆื˜
  • ื ื™ื˜ ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ืึธืจืึทืงืœืข (ื“ืขืจ ืึทืจื˜ื™ืงืœ ื–ืื’ื˜ ืึทื– ื“ืึธืก ืื™ื– ืจืขื›ื˜ ืฆื• ื“ืขืจ ืคืขืœืŸ ืคื•ืŸ ืึท ืกื˜ืึทื‘ื™ืœ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึฟืึทืจ .ื ืขื˜ ืงืึธืจ - ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ืึท ื™ืึธืจ ืฆื•ืจื™ืง)
  • ืงื™ื™ืŸ ืึธื˜ืึทืžืึทื˜ื™ืง ื“ื•ืจ ืคื•ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทื ื–

ืงื•ื™ืœืขืœื“ื™ืง, ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืงื•ืงื˜ ืคึผืจืึทืžืึทืกื™ื ื’, ืกืคึผืขืฆื™ืขืœ ืื•ื™ื‘ ืขืก ื•ื•ืึธืœื˜ ืึทื ื˜ื•ื•ื™ืงืœืขืŸ, ืึธื‘ืขืจ ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืžืึทื›ืŸ ืึท ื‘ืึทืฉืœื•ืก ื“ืึธ ืื•ืŸ ืื™ืฆื˜.

ื’ืœืึทื˜ ืžื™ื’ืจืึทื˜ืึธืจ

ืคืึทืจื’ืœื™ื™ึทืš ืื•ืŸ ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขืžืขืŸ
github.com/fluentmigrator/fluentmigrator

ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ื’ืขืฆื™ื™ึทื’ ืžื™ื˜ ืึท ื’ืจื•ื™ืก ืึทืจืžื™ื™ ืคื•ืŸ ืคืึทื ืก. ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ Apache 2.0 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ. ื•ื•ื™ ืกื˜ื™ื™ื˜ื™ื“ ืื™ืŸ ื“ื™ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’, ืขืก ืื™ื– ืึท ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืคืจื™ื™ืžื•ื•ืขืจืง ืคึฟืึทืจ. ื ืขืฅ, ืขื ืœืขืš ืฆื• Ruby on Rails Migrations. ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ืกื˜ืฉืขืžืึท ื–ืขื ืขืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ C # ืงืœืืกืŸ.

ื“ืึธ ื–ืขื ืขืŸ ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื–:

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคืืจืœืื ื’ื˜ DBMS
  • ื ืขืฅ ืงืึธืจ ืฉื˜ื™ืฆืŸ
  • ื’ืจื•ื™ืก ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืงื”ืœ
  • ืงืึธื ืคืœื™ืงืฅ ืฆื•ื•ื™ืฉืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ืจื™ื–ืึทืœื•ื•ื“ ืกืึทืงื•ื•ืขื ื˜ืฉืึทืœื™ - ื“ืขืจ ืกื“ืจ ืคื•ืŸ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทื ื– ืื™ื– ืกืคึผืขืกื™ืคื™ืขื“. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ืื•ื™ื‘ ืึท ืงืึธื ืคืœื™ืงื˜ ืขืจื™ื™ื–ืึทื– ืึทืจื•ื ืื™ื™ืŸ ืขื ื˜ื™ื˜ื™, ื•ื•ืขืŸ ืžืขืจื“ื–ืฉื™ื ื’ ื“ื™ ืงืึธื“, ืขืก ืื™ื– ืจื™ื–ืึทืœื•ื•ื“ ืื™ืŸ ื“ื™ ื–ืขืœื‘ืข ื•ื•ืขื’ ื•ื•ื™ ืื™ืŸ ื“ื™ ืจืขืฉื˜ ืคื•ืŸ ื“ื™ ืงืึธื“.
  • ืขืก ื–ืขื ืขืŸ ืคึผืจืึธื•ืคื™ื™ืœื– ื•ื•ืึธืก ื–ืขื ืขืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ื ืึธืš ืึท ืžืฆืœื™ื— ืžื™ื’ืจืึทื˜ื™ืึธืŸ. ืื•ืŸ ื–ื™ื™ ืงืขื ืขืŸ ืคื™ืจืŸ ืกืขืจื•ื•ื™ืก ืคืึทื ื’ืงืฉืึทื ื–. ื“ื™ ืœืขืฆื˜ืข ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ื—ื•ื“ืฉ ืฆื•ืจื™ืง, ื“ืึธืก ืื™ื–, ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ื– ืœืขื‘ืขื“ื™ืง

ื•ื•ื™ ืคึฟืึทืจ ื“ื™ ืžื™ื ื•ืก, ื“ืึธ ื–ื™ื™ ื–ืขื ืขืŸ:

  • ืงื™ื™ืŸ ืึธื˜ืึทืžืึทื˜ื™ืง ื“ื•ืจ ืคื•ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทื ื–
  • ืงื™ื™ืŸ ืงืฉืจ ืžื™ื˜ EF ืžืึธื“ืขืœืก
  • ืงื™ื™ืŸ ื“ืึทื˜ืึทื‘ื™ื™ืก ืกื ืึทืคึผืฉืึทืฅ

ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ืื•ื ื“ื–ืขืจ ื‘ืจื™ืจื”?

ืคืึทืจื’ืœื™ื™ึทืš ืื•ืŸ ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขืžืขืŸ

ื“ื™ ื”ืขืึทื˜ืขื“ ื•ื•ื™ื›ื•ื—ื™ื ืจื™ื•ื•ืึทืœื•ื•ื“ ืึทืจื•ื ืฆื•ื•ื™ื™ ืคึผืึทืจืึทืžืขื˜ืขืจืก - ืึธื˜ืึทืžืึทื˜ื™ืง ื“ื•ืจ ืคื•ืŸ ืžื™ื™ื’ืจื™ื™ืฉืึทื ื– ืื•ืŸ ื‘ืึทืž ื–ื™ื ืขืŸ ื”ืึทื›ืœืึธื˜ืข ืคื•ืŸ โ€‹โ€‹ืงืึธื ืคืœื™ืงื˜. ืื ื“ืขืจืข ืกื™ื‘ื•ืช ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ืคื™ืœ ื•ื•ื™ื™ื ื™ืงืขืจ ืฉืจืขืงืœืขืš. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืคื•ืŸ ื“ื™ ื“ื™ืกืงื•ืกื™ืข, ื“ื™ ืžืึทื ืฉืึทืคึฟื˜ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ื ื•ืฆืŸ Fluent Migrator ืื™ืŸ ื“ื™ ื ื™ื™ึทืข ืคึผืจื•ื™ืขืงื˜. ื•ื•ื™ื™ึทืœ ืจื™ื–ืึทืœื•ื•ื™ื ื’ ืงืึธื ืคืœื™ืงื˜ ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜ ื•ื•ืขื˜ ื‘ืจืขื ื’ืขืŸ ืคื™ืœ ืžืขืจ ื‘ืขื ืขืคื™ืฅ.

ืคื™ื™ื ื“ื™ื ื’ื–

ืคื•ืŸ ืงื•ืจืก, ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ื’ืื ืฅ ืžื›ืฉื™ืจื™ื. ืึทื–ื•ื™ ืžื™ืจ ื”ืึธื‘ืŸ ืฆื• ืคึผืจื™ื™ืึธืจืึทื˜ื™ื™ื– ืื•ื ื“ื–ืขืจ "ื•ื•ื™ืœ" ืฆื• ืžืึทื›ืŸ ืึท ื‘ืจื™ืจื”. ืึธื‘ืขืจ, ืคึฟืึทืจ ืื ื“ืขืจืข ื˜ื™ืžื– ืื•ืŸ ืื ื“ืขืจืข ื˜ืึทืกืงืก, ืื ื“ืขืจืข ืกื™ื‘ื•ืช ืงืขืŸ ื–ื™ื™ืŸ ื‘ืึทืฉื˜ื™ืžืขื ื“ื™ืง. ืžื™ืจ ื”ืึธืคืŸ ืึทื– ื“ืขืจ ืึทืจื˜ื™ืงืœ ื•ื•ืขื˜ ื”ืขืœืคึฟืŸ ืื™ืจ ืžืึทื›ืŸ ืึท ื‘ืจื™ืจื”.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’