@Radiss

Почему не добавляется новое поле в таблицу?

Laravel 5.2

Есть две связанные таблицы: Users (род.) и Countries по типу hasOne
Теперь хочу реализовать связь hasMany - Users к Articles

Создалась миграция, чтобы добавить к articles внешний ключ
add_articles_user_table

spoiler
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class AddArticlesUserTable extends Migration
{
    public function up()
    {
        Schema::table('articles', function (Blueprint $table) {
            $table->integer('user_id')->unsigned()->default(1);
            $table->foreign('user_id')->references('id')->on('users');
        });
    }

    public function down()
    {
        Schema::table('articles', function (Blueprint $table) {
            $table->dropColumn('user_id');
        });
    }
}


cущ. миграция
create_articles_table
spoiler
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateArticlesTable extends Migration
{
    public function up()
    {
        Schema::create('articles', function (Blueprint $table) {           
            $table->increments('id');
            $table->string('name',100);//Varchar 100
            $table->text('text');//text
            $table->string('img',255);//Varchar 100
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::drop('articles');
    }
}

5cc5eddcb962d705605399.jpeg

Но что интересно, другая миграция из другого проекта (копия, но с другой датой) сработала, почему?
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
@art055
AddArticlesUserTable или просто AddArticlesTable
Прочитайте документацию , судя по этой записи добавляется в таблицу articles_user(я бы назвал article_users), и соответственно
Schema::table('articles_user', function (Blueprint $table) {
$table->integer('user_id')->unsigned()->default(1);
$table->foreign('user_id')->references('id')->on('users');
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@php_raper
Добрый день!
Написано же, что таблица уже существует, а без файлов вашей миграции точно не понять что вы написали не так.

Гипотетически вы не делаете проверку

if (!Schema::hasTable('articles')) {
 //create code here
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы