cake2系にあった、cake schemaコマンドは、cake3系ではなくなったらしいので、色々調べたメモ

cake3からは、Migrationsを使うのがセオリーぽい

Migration関係のコマンド

// migration作成
$ ./bin/cake bake migration [Migration名]

// migration実行
$ ./bin/cake migrations migrate

Migrationファイルの記述と実行

// 作ったMigration
class Test extends AbstractMigration
{
	public function change()
	{
		$table = $this->table('tests');

		// テーブル定義
		$table->addColumn('title', 'string', [
			'default' => null,
			'limit' => 255,
		]);
		$table->addColumn('body', 'text', [
			'default' => null,
		]);
		$table->addColumn('created', 'datetime', [
			'default' => null,
			'null' => false,
		]);
		$table->addColumn('modified', 'datetime', [
			'default' => null,
		]);

		$table->create();

		// id を unsigned に変更
		$table->changeColumn('id', 'integer', [
			'identity' => true,
			'signed' => false,
		]);
	}
}

// できたテーブル
| tests | CREATE TABLE `tests` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`body` text NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

Seed関係のコマンド

// seed作成
$ ./bin/cake bake seed [Model名]

// seed実行
$ ./bin/cake migrations seed

Seedファイルの記述と実行

// 作ったSeed
class ArticlesSeed extends AbstractSeed
{
	/**
	 * Run Method.
	 *
	 * Write your database seeder using this method.
	 *
	 * More information on writing seeds is available here:
	 * http://docs.phinx.org/en/latest/seeding.html
	 *
	 * @return void
	 */
	public function run()
	{
		$data = [
			['title' =>  'タイトル', 'body' => 'これは、記事の本文です', 'created' => date("Y-m-d H:i:s",time()), 'modified' => date("Y-m-d H:i:s",time())],
			['title' =>  'またタイトル', 'body' => 'そこに本文が続きます', 'created' => date("Y-m-d H:i:s",time()), 'modified' => date("Y-m-d H:i:s",time())],
		];

		$table = $this->table('articles');
		$table->insert($data)->save();
	}
}

// 入ったデータ
MySQL [cake3]> select * from articles;
+----+--------------------+-----------------------------------+---------------------+---------------------+
| id | title              | body                              | created             | modified            |
+----+--------------------+-----------------------------------+---------------------+---------------------+
|  1 | タイトル           | これは、記事の本文です            | 2017-02-16 16:14:13 | 2017-02-16 16:14:13 |
|  2 | またタイトル       | そこに本文が続きます              | 2017-02-16 16:14:13 | 2017-02-16 16:14:13 |
+----+--------------------+-----------------------------------+---------------------+---------------------+
2 rows in set (0.00 sec)