Pessoal estou fazendo um WebApp no estilo Trello, entretanto, ele é bem mais simples, tendo apenas uma Board, mas será possível criar várias Lanes(colunas) e Tasks(tarefas) em uma Lane.
Estou usando Laravel 5.6 e Vue com VueDraggable para que seja possível arrastar uma Task para outra Lane. Minha dúvida é sobre a posição de uma Task. A princípio fiz a tabela tasks da seguinte maneira:
Schema::create('tasks', function (Blueprint $table) {
$table->increments('id');
$table->integer('position')->unique();
$table->integer('lane_id')->unsigned();
$table->text('content');
$table->timestamps();
});
A coluna position não é PK, ou seja, não possui um auto_increment. Eu não consigo adicionar uma task, pois não sei como fazer um increment em position quando eu fazer um insert.
É melhor deixar a position como PK? Digo isto, pois como irei mudar a posição de uma Task, não sei se é uma boa idéia alterar o valor de uma PK.