Sto cercando di creare chiavi esterne in Laravel, tuttavia quando eseguo la migrazione della mia tabella utilizzando artisan
mi viene visualizzato il seguente errore:
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL
: alter table `priorities` add constraint priorities_user_id_foreign foreign
key (`user_id`) references `users` (`id`))
Il mio codice di migrazione è il seguente:
file di migrazione delle priorità
public function up()
{
//
Schema::create('priorities', function($table) {
$table->increments('id', true);
$table->integer('user_id');
$table->foreign('user_id')->references('id')->on('users');
$table->string('priority_name');
$table->smallInteger('rank');
$table->text('class');
$table->timestamps('timecreated');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schema::drop('priorities');
}
file di migrazione degli utenti
public function up()
{
//
Schema::table('users', function($table)
{
$table->create();
$table->increments('id');
$table->string('email');
$table->string('first_name');
$table->string('password');
$table->string('email_code');
$table->string('time_created');
$table->string('ip');
$table->string('confirmed');
$table->string('user_role');
$table->string('salt');
$table->string('last_login');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schemea::drop('users');
}
Qualche idea su cosa ho fatto di sbagliato, voglio ottenerlo in questo momento, poiché ho molte tabelle che devo creare, ad esempio Utenti, Clienti, Progetti, Attività, Stati, Priorità, Tipi, Squadre. Idealmente, voglio creare tabelle che contengono questi dati con le chiavi esterne, i..e clients_project
ed project_tasks
ecc.
Spero che qualcuno possa aiutarmi a iniziare.