DML (ããŒã¿æäœèšèª) ã¯ã SQL (æ§é åç §äŒèšèª) ã®ãµãã«ããŽãªã§ãç¹ã«ããŒã¿ããŒã¹ã«æ ŒçŽãããããŒã¿ã®ç®¡çãšæäœãæ±ããŸãã DML ã¯ãéçºè ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ç®¡çã·ã¹ãã (RDBMS) ã«ä¿åãããŠããããŒã¿ã«å¯ŸããŠéèŠãªã¢ã¯ã·ã§ã³ãå®è¡ã§ããããã«ãããããããŒã¿ããŒã¹ç®¡çãã¢ããªã±ãŒã·ã§ã³éçºãããã³ããŒã¿çµ±åã«ãšã£ãŠéåžžã«éèŠã§ãããããã®ã¢ã¯ã·ã§ã³ã«ã¯ãããŒã¿ããŒã¹ ã¬ã³ãŒãã®æäœãããŒãã«ããã®ããŒã¿ã®èªã¿åããããŸããŸãªããŒã¿ ãšã³ãã£ãã£éã®é¢ä¿ã®ããã²ãŒããªã©ãå«ãŸããŸãã
ããŒã¿æäœèšèªã¯ãããŒã¿ã®å¯Ÿè©±ã容æã«ãã SQL ã³ãã³ããšæäœã®ã»ãããšããŠæ©èœãããŠãŒã¶ãŒãããŒã¿ããŒã¹å ã®æ¢åã®ããŒã¿ãå¯Ÿè©±ãæ€æ»ãããã³å€æŽã§ããããã«ããŸããäž»èŠãª DML æäœã¯ 4 ã€ãããŸãã
- SELECT: ããŒã¿ããŒã¹å ã® 1 ã€ãŸãã¯è€æ°ã®ããŒãã«ããæ å ±ããã§ãããŸãã¯ååŸããããã«äœ¿çšãããŸãã
- INSERT: ããŒã¿ããŒã¹ ããŒãã«ã«æ°ããã¬ã³ãŒãã远å ããããã«äœ¿çšãããŸãã
- UPDATE: ããŒã¿ããŒã¹ ããŒãã«å ã®æ¢åã®ã¬ã³ãŒãã倿ŽãŸãã¯å€æŽããããã«äœ¿çšãããŸãã
- DELETE: ããŒã¿ããŒã¹ ããŒãã«ããã¬ã³ãŒããåé€ãŸãã¯åé€ããããã«äœ¿çšãããŸãã
ããã 4 ã€ã® DML æäœã¯ãããããããŒã¿ããŒã¹ ã¢ããªã±ãŒã·ã§ã³ãŸãã¯ãµãŒãã¹ã®åºæ¬çãªæ§æèŠçŽ ãæ§æããããŒã¿ãææçŸ©ã«æäœããã³æäœããããã®éèŠãªããŒã«ããŠãŒã¶ãŒã«æäŸããŸãã DML ã¯ã AppMaster ããŒã³ãŒã ãã©ãããã©ãŒã ã§ç¹ã«äŸ¡å€ããããŸããéçºè ã¯ãããŒã¿ ã¢ãã«ã®èŠèŠçãªäœæãããžãã¹ ããã»ã¹ (BP) ãã¶ã€ããŒã«ããããžãã¹ ããžãã¯ã®å®çŸ©ãREST API ãš WebSocket endpointsã®ç¢ºç«ã®éã«ãDML ã®åãæŽ»çšããŠã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ãæé©åã§ããŸãã ã
AppMaster ãã©ãããã©ãŒã ã®ã³ã³ããã¹ãã§ã¯ãDML ã¯å¹æçãªããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ãããã³ããšã³ã ã€ã³ã¿ãŒãã§ã€ã¹ãã¢ãã€ã« ã¢ããªã®äœæã«ãããŠéèŠãªåœ¹å²ãæãããŸãããã®ãã©ãããã©ãŒã 㯠PostgreSQL äºæããŒã¿ããŒã¹ããµããŒãããããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã«ã¯ Go (Golang) ã䜿çšããWeb ã¢ããªã±ãŒã·ã§ã³ã«ã¯ Vue3 ããã³ JS/TS ãã¬ãŒã ã¯ãŒã¯ãæ¡çšããŸããã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã®å Žåã AppMaster ãAndroid ã®å Žå㯠Kotlin ãšJetpack Compose ãiOS ã®å Žåã¯SwiftUIã«åºã¥ããµãŒããŒé§ååãã¬ãŒã ã¯ãŒã¯ãæäŸããŸãã AppMasterãã©ãããã©ãŒã å ã§ã® DML ã®ã·ãŒã ã¬ã¹ãªçµ±åã«ãããéçºè ã¯ããŒã¿ããŒã¹ã«ä¿åãããããŒã¿ãæäœããŠãã¢ããªã±ãŒã·ã§ã³ããããã¿ã€ãããå±éãŸã§é²ãããšåæã«ãåžå Žæå ¥ãŸã§ã®æéãå€§å¹ ã«ççž®ããæè¡çè² åµãåæžã§ããŸãã
AppMasterã³ã³ããã¹ãã§ DML ã䜿çšãããšãéçºè ã¯ç¹å®ã®ããŒãºã«å¿ããŠããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã®ããŒã¿ããŒã¹ ã¹ããŒãå ã®ããŒã¿ã管çããã³æäœã§ããŸããããšãã°ã AppMasterãã©ãããã©ãŒã äžã«æ§ç¯ãããé»ååååŒ Web ãµã€ããèããŠã¿ãŸããããéçºè 㯠DML ãå©çšããŠæ¬¡ã®ãããªã¢ã¯ã·ã§ã³ãå®è¡ã§ããŸãã
- æ°ãã補åã補åã«ã¿ãã°ã«è¿œå ããŸã (INSERT)ã
- æ¢åã®è£œåã®äŸ¡æ ŒãŸãã¯åšåº«ãæŽæ°ããŸã (UPDATE)ã
- 廿¢ããã補åãããŒã¿ããŒã¹ããåé€ããŸã (DELETE)ã
- ç¹å®ã®è£œåãŸãã¯ã«ããŽãªã®ãªã¹ãããŠãŒã¶ãŒã«è¡šç€ºããŸã (SELECT)ã
éçºè ããããã®ã¢ã¯ã·ã§ã³ãå®è¡ãããšã AppMasterãã©ãããã©ãŒã ã¯é©åãªãœãŒã¹ ã³ãŒããçæããã¢ããªã±ãŒã·ã§ã³ãã³ã³ãã€ã«ãããã¹ããå®è¡ããDocker ã³ã³ãããŒãšã¯ã©ãŠãããŒã¹ã®ãã¯ãããžãŒãéããŠãããã€ã¡ã³ã ããã»ã¹ãç°¡çŽ åããŸãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ããœãããŠã§ã¢éçºã©ã€ããµã€ã¯ã«ã广çã«ä¿é²ããé«è² è·ã®ãšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®ãŠãŒã¹ã±ãŒã¹ã®ã¹ã±ãŒã©ããªãã£ããµããŒãããŸãã
ããã«ãDML ã¯ããµãŒããŒendpointsçšã® Swagger/OpenAPI ããã¥ã¡ã³ããããŒã¿ããŒã¹ ã¹ããŒãç§»è¡ã¹ã¯ãªãããªã©ãã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ã®éèŠãªåŽé¢ãèªååããAppMasterãã©ãããã©ãŒã ã®èœåã匷åããŸããã¢ããªã±ãŒã·ã§ã³ ãã«ãŒããªã³ãã倿Žãããã³ã«ãæ°ããã¢ããªã±ãŒã·ã§ã³ ã»ãããçæãããæè¡çè² åµãæå°éã«æããªããã¢ããªã±ãŒã·ã§ã³ã®äžè²«ããå¥å šæ§ã確ä¿ãããŸãããã®è¿ éãªåçæã«ãããå¹ççãªãã¹ããšç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³/ç¶ç¶çããã〠(CI/CD) ãã€ãã©ã€ã³ãä¿é²ãããŸãã
ããŒã¿æäœèšèªã¯ãéçºè ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ã«æ ŒçŽãããŠããããŒã¿ã管çãç·šæãããã³å€æŽã§ããããã«ãã SQL ã®äžå¯æ¬ ãªã³ã³ããŒãã³ãã§ãã DML ã¯ããŒã¿ããŒã¹é§ååã¢ããªã±ãŒã·ã§ã³ã®ããã¯ããŒã³ã§ããã AppMasterno-codeãã©ãããã©ãŒã ã®ã³ã³ããã¹ãã§ããŒã¿ããŒã¹ãå©çšããããã«äžå¯æ¬ ã§ãã DML ãæŠåšã«ãããšãéçºè ã¯AppMasterã®ãã¯ãŒã掻çšããŠãå¹ åºãããžãã¹ ããŒãºã«å¯Ÿå¿ããã¹ã±ãŒã©ãã«ã§é©å¿æ§ã®ãã匷åãªã¢ããªã±ãŒã·ã§ã³ãäœæã§ããéçºãããè¿ éã«ãããä¿¡é Œæ§ãé«ããã³ã¹ãå¹çãé«ããããšãã§ããŸãã