{"id":15888,"date":"2014-03-26T08:00:27","date_gmt":"2014-03-25T23:00:27","guid":{"rendered":"http:\/\/www.sssg.org\/blogs\/hiro345\/?p=15888"},"modified":"2014-03-23T10:17:07","modified_gmt":"2014-03-23T01:17:07","slug":"cakephp2%e3%81%a7db%e3%83%9e%e3%82%a4%e3%82%b0%e3%83%ac%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%8c%e3%81%a7%e3%81%8d%e3%82%8bcakedc-migrations%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3","status":"publish","type":"post","link":"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/15888.html","title":{"rendered":"CakePHP2\u3067DB\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u304c\u3067\u304d\u308bCakeDC migrations\u30d7\u30e9\u30b0\u30a4\u30f3"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/CakeDC\/migrations\">CakeDC\/migrations \u00b7 GitHub<\/a>\u304c\u4fbf\u5229\u305d\u3046\u306a\u306e\u3067\u8abf\u3079\u3066\u307f\u307e\u3057\u305f\u3002CakePHP2.4\u4ee5\u964d\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u308b\u305d\u3046\u3067\u3059\u3002<a href=\"http:\/\/www.ryuzee.com\/contents\/blog\/6108\">CakePHP2\u7cfb\u3067\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3059\u308b\u65b9\u6cd5 | Ryuzee.com<\/a>\u3082\u53c2\u8003\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u300c<a href=\"\/\/www.sssg.org\/blogs\/hiro345\/archives\/15885.html\">CakePHP 2.4.6 \u3067\u30e6\u30fc\u30b6\u7ba1\u7406\u30a2\u30d7\u30ea\u3092\u4f5c\u308b\u65b9\u6cd5 : hiro345<\/a>\u300d\u3067\u30e6\u30fc\u30b6\u7ba1\u7406\u30a2\u30d7\u30ea\u3092\u4f5c\u3063\u3066\u304b\u3089\u3001\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u3002<br \/>\n<!--more--><br \/>\n<strong>\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/strong><br \/>\n\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u7c21\u5358\u3067\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ wget -O cakedc_migrations_2.2.3.zip https:\/\/github.com\/CakeDC\/migrations\/archive\/2.2.3.zip\r\n$ unzip cakedc_migrations_2.2.3.zip \r\n$ mv migrations-2.2.3\/ app\/Plugin\/Migrations\r\n<\/pre>\n<p>\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u306b\u306f\u3001\u30ed\u30fc\u30c9\u51e6\u7406\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ tail -1 app\/Config\/bootstrap.php \r\nCakePlugin::load(&#039;Migrations&#039;);\r\n<\/pre>\n<p><strong>\u521d\u671f\u8a2d\u5b9a<\/strong><br \/>\nMigration\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u5229\u7528\u958b\u59cb\u306e\u305f\u3081\u306b\u3001DB \u306b\u8868 schema_migrations \u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ cd app\r\n$ Console\/cake Migrations.migration run all -p Migrations\r\n<\/pre>\n<p>\u78ba\u8a8d\u3057\u307e\u3059\u3002schema_migrations\u304c\u5897\u3048\u3066\u3044\u308b\u4e8b\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ echo &quot;show tables;&quot; | mysql -u root user_app_v246\r\nTables_in_user_app_v246\r\nschema_migrations\r\nusers\r\n<\/pre>\n<p>\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u7528\u521d\u671f\u30d5\u30a1\u30a4\u30eb\u4f5c\u6210\u3057\u307e\u3059\u3002Config\/Schema\/schema.php\u304c\u3042\u308b\u3068\u3046\u307e\u304f\u4f5c\u6210\u3055\u308c\u306a\u3044\u306e\u3067\u3001\u540c\u540d\u306e<br \/>\n\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u5834\u5408\u306f\u5225\u540d\u306b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ Console\/cake Migrations.migration generate -f\r\nCake Migration Shell\r\n---------------------------------------------------------------\r\nDo you want generate a dump from current database? (y\/n) \r\n[y] &gt; y\r\n---------------------------------------------------------------\r\nGenerating dump from current database...\r\nDo you want to preview the file before generation? (y\/n) \r\n[y] &gt; n\r\nPlease enter the descriptive name of the migration to generate:  \r\n&gt; init\r\nGenerating Migration...\r\n\r\nDone.\r\n<\/pre>\n<p>\u3053\u308c\u3067\u3001Config\/Migration\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u7528\u30d5\u30a1\u30a4\u30eb\u304c\u751f\u6210\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ ls Config\/Migration\/\r\n1395294046_init.php\r\n<\/pre>\n<p>\u6b21\u306b Config\/Schema\/schema.php\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ sudo Console\/cake schema generate -f\r\n\r\nWelcome to CakePHP v2.4.6 Console\r\n---------------------------------------------------------------\r\nApp : app\r\nPath: \/var\/www\/cakephp2_apps\/cakephp-2.4.6_apps\/user_app\/app\/\r\n---------------------------------------------------------------\r\nCake Schema Shell\r\n---------------------------------------------------------------\r\nGenerating Schema...\r\nSchema file: schema.php generated\r\n<\/pre>\n<p>\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ ls Config\/Schema\/schema.php \r\nConfig\/Schema\/schema.php\r\n<\/pre>\n<p>\u3053\u3053\u307e\u3067\u3067DB\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u304c\u3067\u304d\u308b\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u72b6\u614b\u3092\u78ba\u8a8d\u3057\u3066\u304a\u304f\u3068\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ sudo Console\/cake Migrations.migration status\r\n<\/pre>\n<p><strong>\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u306e\u624b\u9806<\/strong><br \/>\n\u30c6\u30fc\u30d6\u30eb\u306b\u5909\u66f4\u3092\u52a0\u3048\u305f\u3089\u3001\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ Console\/cake Migrations.migration generate -f\r\n<\/pre>\n<p>\u9069\u7528\u3059\u308b\u306b\u306f\u3001\u4e0b\u8a18\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3002\u9069\u7528\u53ef\u80fd\u306a\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u306e\u4e00\u89a7\u304c\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u3001\u9069\u7528\u3059\u308b\u3082\u306e\u3092\u9078\u629e\u3057\u3066\u6307\u5b9a\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ sudo Console\/cake Migrations.migration run\r\n<\/pre>\n<p>\u4ed6\u306b\u3082\u4e0b\u8a18\u306e\u3088\u3046\u306a\u30b3\u30de\u30f3\u30c9\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ sudo Console\/cake Migrations.migration run all\r\n$ sudo Console\/cake Migrations.migration run reset\r\n$ sudo Console\/cake Migrations.migration run up\r\n$ sudo Console\/cake Migrations.migration run down\r\n<\/pre>\n<p>Jenkins\u306a\u3069\u3067\u81ea\u52d5\u3067\u9069\u7528\u3059\u308b\u306b\u306f\u4e0b\u8a18\u3092\u6307\u5b9a\u3057\u3066\u5b9f\u884c\u3059\u308c\u3070\u826f\u3044\u3088\u3046\u3067\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ .\/Console\/cake Migrations.migration run all -p \r\n<\/pre>\n<p><strong>\u4f8b<\/strong><br \/>\n\u4f8b\u3068\u3057\u3066tasks\u30c6\u30fc\u30d6\u30eb\u3092\u8ffd\u52a0\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ cat ~\/tasks.sql\r\nCREATE TABLE `tasks` (\r\n  `id` int(11) NOT NULL AUTO_INCREMENT,\r\n  `subject` tinytext COLLATE utf8_unicode_ci NOT NULL,\r\n  `content` text COLLATE utf8_unicode_ci NOT NULL,\r\n  `created` datetime NOT NULL,\r\n  `modified` datetime NOT NULL,\r\n  PRIMARY KEY (`id`)\r\n) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\r\n<\/pre>\n<p>mysql\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3063\u3066\u30c6\u30fc\u30d6\u30eb\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ cat ~\/tasks.sql | mysql -u root user_app_v246\r\n----\r\n<\/pre>\n<p>DB\u3078\u5909\u66f4\u3092\u52a0\u3048\u305f\u306e\u3067\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ sudo Console\/cake Migrations.migration generate -f\r\nCake Migration Shell\r\n---------------------------------------------------------------\r\nDo you want compare the schema.php file to the database? (y\/n) \r\n[y] &gt; \r\n---------------------------------------------------------------\r\nComparing schema.php to the database...\r\nDo you want to preview the file before generation? (y\/n) \r\n[y] &gt; n\r\nPlease enter the descriptive name of the migration to generate:  \r\n&gt; add_table_tasks\r\nGenerating Migration...\r\n\r\nDone.\r\nDo you want update the schema.php file? (y\/n) \r\n[y] &gt; y\r\n\r\nWelcome to CakePHP v2.4.6 Console\r\n---------------------------------------------------------------\r\nApp : app\r\nPath: \/var\/www\/cakephp2_apps\/cakephp-2.4.6_apps\/user_app\/app\/\r\n---------------------------------------------------------------\r\nCake Schema Shell\r\n---------------------------------------------------------------\r\nGenerating Schema...\r\nSchema file exists.\r\n [O]verwrite\r\n [S]napshot\r\n [Q]uit\r\nWould you like to do? (o\/s\/q) \r\n[s] &gt; o\r\nSchema file: schema.php generated\r\n<\/pre>\n<p>\u3053\u308c\u3067\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u304c\u5b8c\u4e86\u3067\u3059\u3002schema.php\u306f\u6700\u5f8c\u306bOverwrite\u306eo\u3092\u6307\u5b9a\u3057\u3066\u3044\u308b\u306e\u3067\u4e0a\u66f8\u304d\u66f4\u65b0\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><strong>\u524d\u306eDB\u3078\u623b\u3059<\/strong><br \/>\ndown \u3092\u4f7f\u3046\u3068\u3072\u3068\u3064\u623b\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ sudo Console\/cake Migrations.migration run down\r\nCake Migration Shell\r\n---------------------------------------------------------------\r\nRunning migrations:\r\n  [1395293140] 1395293140_add_table_tasks\r\n      &gt; Dropping table tasks.\r\n\r\n---------------------------------------------------------------\r\nAll migrations have completed.\r\n<\/pre>\n<p>\u78ba\u8a8d\u3059\u308b\u3068\u3001tasks\u30c6\u30fc\u30d6\u30eb\u304c\u5b58\u5728\u3057\u3066\u3044\u306a\u3044\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ echo &#039;show tables;&#039;|mysql -u root user_app_v246\r\nTables_in_user_app_v246\r\nschema_migrations\r\nusers\r\n<\/pre>\n<p><strong>DB\u3092\u5148\u3078\u9032\u3081\u308b<\/strong><br \/>\nup \u3059\u308b\u3068\u3072\u3068\u3064\u9032\u307f\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ sudo Console\/cake Migrations.migration run up\r\nCake Migration Shell\r\n---------------------------------------------------------------\r\nRunning migrations:\r\n  [1395293140] 1395293140_add_table_tasks\r\n      &gt; Creating table tasks.\r\n\r\n---------------------------------------------------------------\r\nAll migrations have completed.\r\n<\/pre>\n<p>\u78ba\u8a8d\u3059\u308b\u3068\u3001tasks\u30c6\u30fc\u30d6\u30eb\u304c\u5b58\u5728\u3057\u3066\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ echo &#039;show tables;&#039;|mysql -u root user_app_v246\r\nTables_in_user_app_v246\r\nschema_migrations\r\ntasks\r\nusers\r\n<\/pre>\n<p>\u8ffd\u52a0\u3067\u306f\u306a\u304f\u5909\u66f4\u3082\u51fa\u6765\u307e\u3059\u3002tasks\u30c6\u30fc\u30d6\u30eb\u3078\u30ab\u30e9\u30e0\u3092\u8ffd\u52a0\u3059\u308b\u306b\u306f\u4e0b\u8a18\u306e\u3088\u3046\u306aSQL\u6587\u3092\u7528\u610f\u3057\u3066\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: true\">\r\n$ cat ~\/tasks_alter_v1.sql\r\nALTER TABLE `tasks`\r\n ADD\r\n  `status` INT NOT NULL DEFAULT &#039;0&#039; AFTER `content`,\r\n ADD\r\n  `due_date` DATE NULL DEFAULT NULL AFTER `status`;\r\n<\/pre>\n<p>PHP, CakePHP\u306b\u3064\u3044\u3066\u306f\u4e0b\u8a18\u304c\u53c2\u8003\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li><a type=\"amzn\" asin=\"4774144371\">\u30d1\u30fc\u30d5\u30a7\u30af\u30c8PHP<\/a><\/li>\n<li><a type=\"amzn\" asin=\"4774145254\">Web\u30b5\u30a4\u30c8\u5236\u4f5c\u8005\u306e\u305f\u3081\u306e PHP\u5165\u9580\u8b1b\u5ea7<\/a><\/li>\n<li><a type=\"amzn\" asin=\"4798119865\">PHP \u9006\u5f15\u304d\u30ec\u30b7\u30d4<\/a><\/li>\n<li><a type=\"amzn\" asin=\"488337730X\">PHP\u306b\u3088\u308bWordPress\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u30d6\u30c3\u30af\u20153.x\u5bfe\u5fdc<\/a><\/li>\n<li><a type=\"amzn\" asin=\"4798039519\">Web\u30a2\u30d7\u30ea\u958b\u767a\u3092\u52a0\u901f\u3059\u308b CakePHP2\u5b9a\u756a\u30ec\u30b7\u30d4119 <\/a><\/li>\n<li><a type=\"amzn\" asin=\"4774153249\">CakePHP2 \u5b9f\u8df5\u5165\u9580 (WEB+DB PRESS plus)<\/a><\/li>\n<li><a type=\"amzn\" asin=\"479803746X\">\u8a73\u89e3CakePHP\u8f9e\u5178\u20152.0\/2.1\/2.2\/2.3\u5bfe\u5fdc <\/a><\/li>\n<li><a type=\"amzn\" asin=\"4774135038\">CakePHP \u30dd\u30b1\u30c3\u30c8\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9 (Pocket Reference)<\/a><\/li>\n<\/ul>\n<div>\n<iframe src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4774144371&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr\" style=\"width:120px;height:240px;\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\"><\/iframe><iframe src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4774145254&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr\" style=\"width:120px;height:240px;\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\"><\/iframe><iframe src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4798119865&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr\" style=\"width:120px;height:240px;\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\"><\/iframe><iframe src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=488337730X&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr\" style=\"width:120px;height:240px;\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\"><\/iframe><iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4798039519&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr\" height=\"240\" width=\"320\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4774153249&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr\" height=\"240\" width=\"320\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=479803746X&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr\" height=\"240\" width=\"320\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4774135038&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr\" height=\"240\" width=\"320\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>CakeDC\/migrations \u00b7 GitHub\u304c\u4fbf\u5229\u305d\u3046\u306a\u306e\u3067\u8abf\u3079\u3066\u307f\u307e\u3057\u305f\u3002CakePHP2.4\u4ee5\u964d\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u308b\u305d\u3046\u3067\u3059\u3002CakePHP2\u7cfb\u3067\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3059\u308b\u65b9\u6cd5 | Ryuzee.com\u3082\u53c2\u8003\u306b &hellip; <a href=\"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/15888.html\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[1050,606,1209],"class_list":["post-15888","post","type-post","status-publish","format-standard","hentry","category-linux","tag-cakedc-migrations","tag-cakephp","tag-linux"],"_links":{"self":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/15888","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/comments?post=15888"}],"version-history":[{"count":5,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/15888\/revisions"}],"predecessor-version":[{"id":15899,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/15888\/revisions\/15899"}],"wp:attachment":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/media?parent=15888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/categories?post=15888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/tags?post=15888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}