Ошибка при переносе таблиц в db ... table уже существует - PullRequest
0 голосов
/ 21 мая 2019

enter image description here

При переносе моих таблиц в БД появляется эта ошибка

SQLSTATE [42S01]: базовая таблица или представление уже существует: 1050 Таблица 'users' уже существует (SQL: создать таблицу users (id int без знака, не ноль, первичный ключ auto_increment, body longtext, не ноль, url varchar (255), ноль, user_id int, без знака без)null, commentable_id int unsigned not null, commentable_type varchar (191) not null, created_a t timestamp null, updated_at timestamp null) набор символов по умолчанию utf8mb4 collate utf8mb4_unicode_ci) В строке Connection.php 449: SQLSTATE [42S01]: Базовая таблица или представление уже существует: 1050 Таблица 'users' уже существует

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        if(!Schema::hasTable('users')){
            Schema::create('users', function (Blueprint $table) {
                $table->increments('id');
                $table-> string('name');
                $table-> string('email')->unique();
                $table-> string('password');
                $table->rememberToken();
                $table->timestamps();
            });
        }
        Schema::table('users', function(Blueprint $table){
            $table -> string('first_name') -> nullabel();
            $table -> string('middle_name') -> nullabel();
            $table -> string('last_name') -> nullabel();
            $table -> string('city') -> nullabel();
            $table -> integer('role') -> unsigned();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }

Я удалил все таблицы из базы данных, затем я попытался, но та же ошибка с учетом

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

Вероятно, вы используете Laravel 5.5, поэтому вы должны сделать "php artisan migrate" без редактирования вашего AppServiceProvider.php файла внутри метода загрузки.

Поэтому я рекомендую вам удалить таблицы из базы данных с помощью "php artisan tinker" Затем "Schema :: drop ('users') (и завершиться с помощью q)",

После этого вам нужно отредактировать "AppServiceProvider.php" файл, поэтому воспользуйтесь этой ссылкой, чтобы помочь вам: https://laravel -news.com / laravel-5-4-key- слишком долго ошибок

Когда вы уже отредактировали файл, теперь вы можете сделать "php artisan migrate: rollback" и после этого "php artisan migrate"

, который работает со мной!

0 голосов
/ 21 мая 2019

Попробуйте либо разделить на две миграции, либо добавить все поля сразу:

Schema::create('users', function (Blueprint $table) {
                $table->increments('id');
                $table-> string('name');
                $table-> string('email')->unique();
                $table-> string('password');
                $table->rememberToken();
                $table->timestamps();
                $table -> string('first_name') -> nullable();
                $table -> string('middle_name') -> nullable();
                $table -> string('last_name') -> nullable();
                $table -> string('city') -> nullable();
                $table -> integer('role') -> unsigned();
            });

Обратите внимание: вы также неправильно написали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...