morphTable('user', [ 'columns' => [ new Column( 'id', [ 'type' => Column::TYPE_INTEGER, 'notNull' => true, 'autoIncrement' => true, 'first' => true ] ), new Column( 'username', [ 'type' => Column::TYPE_VARCHAR, 'size' => 1, 'after' => 'id' ] ), new Column( 'password', [ 'type' => Column::TYPE_VARCHAR, 'size' => 1, 'after' => 'username' ] ), new Column( 'email', [ 'type' => Column::TYPE_VARCHAR, 'size' => 255, 'after' => 'password' ] ), new Column( 'role', [ 'type' => Column::TYPE_VARCHAR, 'default' => "User", 'notNull' => true, 'size' => 1, 'after' => 'email' ] ), new Column( 'created_at', [ 'type' => Column::TYPE_TIMESTAMP, 'size' => 1, 'after' => 'role' ] ), new Column( 'updated_at', [ 'type' => Column::TYPE_TIMESTAMP, 'size' => 1, 'after' => 'created_at' ] ) ], 'indexes' => [ new Index('name_uniq', ['username'], null), new Index('users_pkey', ['id'], null) ], ] ); } /** * Run the migrations * * @return void */ public function up() { } /** * Reverse the migrations * * @return void */ public function down() { } }