--- /dev/null
+<?php
+
+use Phinx\Migration\AbstractMigration;
+
+class CreateCategoriesTable extends AbstractMigration
+{
+ /**
+ * Change Method.
+ *
+ * Write your reversible migrations using this method.
+ *
+ * More information on writing migrations is available here:
+ * http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
+ *
+ * The following commands can be used in this method and Phinx will
+ * automatically reverse them when rolling back:
+ *
+ * createTable
+ * renameTable
+ * addColumn
+ * renameColumn
+ * addIndex
+ * addForeignKey
+ *
+ * Remember to call "create()" or "update()" and NOT "save()" when working
+ * with the Table class.
+ */
+ public function change()
+ {
+ $this->table('categories', ['id' => false, 'primary_key' => ['id']])
+ ->addColumn('id', 'integer', ['identity' => true, 'signed' => false])
+ ->addColumn('name', 'string', ['length' => 255, 'null' => false])
+ ->addColumn('parent', 'integer', ['signed' => false, 'null' => true])
+ ->addColumn('created', 'datetime')
+ ->addColumn('modified', 'datetime')
+ ->addIndex('name', ['unique' => true])
+ ->create();
+ }
+}
+
+