ausgeführt wurde habe ich die folgende Migration in meinem Laravel Migrationen Ordnern, ich habe bereits laufen:nach der Migration hat in Laravel
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateAdminTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up() {
Schema::create('Admin' , function($table){
$table->increments('id');
$table->mediumText('title');
$table->text('blog_content');
$table->char('tag' , 15);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down() {
Schema::drop('Admin');
}
}
Die obige Migration ist für meinen admin
Tisch, was würde ich wirklich gerne tun ist ein Fremdschlüssel in meiner admin
Tabelle, die mit meiner tags
Tabelle zugeordnet ist. etwas wie:
Wie mache ich das jetzt, dass ich meine Migration bereits ausgeführt habe ??
EDIT :: habe ich versucht, die folgen:
Schritt 1: löschte die tag
Spalte aus der admin
Tabelle von phpMyAdmin.
SCHRITT 2: Versucht, die nach der Migration ausgeführt wird:
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddForeignKeyTagsColumn extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('Admin', function (Blueprint $table) {
$table->char('tag' , 15)->after('slug');
$table->foreign('tag')->references('tag')->on('tags');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
// Schema::drop('Admin');
}
}
aber ich bekomme die folgende Fehlermeldung:
Warum ist der Fremdschlüssel nicht in der Lage geschaffen werden ??
Vielen Dank.
In Bezug auf Ihre bearbeiten laufen. Codiert Ihr Tisch myisam/innodb?Versuchen Sie es in innodb zu ändern, da myisam keine Fremdschlüssel unterstützt. – Gravy
@Gravy änderte folgendes in config/database.php ''engine' =>" InnoDB ",' .. gelöscht und alle Tabellen neu erstellt, aber ich bekomme immer noch den Fehler, dass ' SQLSTATE [HY000]: Allgemeiner Fehler: 1215 kann nicht Fremdschlüssel hinzufügen tag_foreign' Fremdschlüssel ('tag') verweist auf' tags' ('tag')' '. –