| 1 | <?php |
||
| 12 | class Categories extends AbstractMigration |
||
|
|
|||
| 13 | { |
||
| 14 | /** |
||
| 15 | * Change Method. |
||
| 16 | * |
||
| 17 | * Write your reversible migrations using this method. |
||
| 18 | * |
||
| 19 | * More information on writing migrations is available here: |
||
| 20 | * http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class |
||
| 21 | * |
||
| 22 | * The following commands can be used in this method and Phinx will |
||
| 23 | * automatically reverse them when rolling back: |
||
| 24 | * |
||
| 25 | * createTable |
||
| 26 | * renameTable |
||
| 27 | * addColumn |
||
| 28 | * renameColumn |
||
| 29 | * addIndex |
||
| 30 | * addForeignKey |
||
| 31 | * |
||
| 32 | * Remember to call "create()" or "update()" and NOT "save()" when working |
||
| 33 | * with the Table class. |
||
| 34 | * |
||
| 35 | * @throws \InvalidArgumentException |
||
| 36 | * @throws \RuntimeException |
||
| 37 | */ |
||
| 38 | public function change() |
||
| 39 | { |
||
| 40 | $table = $this->table('categories'); |
||
| 41 | $table |
||
| 42 | ->addColumn('rootId', 'integer') |
||
| 43 | ->addColumn('parentId', 'integer', ['null' => true]) |
||
| 44 | ->addColumn('name', 'string', ['length' => 255]) |
||
| 45 | ->addColumn('alias', 'string', ['length' => 255]) |
||
| 46 | ->addTimestamps('created', 'updated') |
||
| 47 | ->addForeignKey('parentId', 'categories', 'id', [ |
||
| 48 | 'delete' => 'CASCADE', |
||
| 49 | 'update' => 'CASCADE' |
||
| 50 | ]) |
||
| 51 | ->addIndex(['parentId', 'alias'], ['unique' => true, 'name' => 'UNIQUE_categories_alias']) |
||
| 52 | ->create(); |
||
| 53 | } |
||
| 54 | } |
||
| 55 |
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.