Я не могу добавить новые столбцы в таблицу из laravel даже после выполнения процедуры миграции? - PullRequest
0 голосов
/ 13 ноября 2018

Я выполняю все шаги по добавлению голосов новых столбцов в пользовательскую таблицу из laravel, но ее еще нет в базе данных? Пожалуйста, скажите мне, где моя ошибка? во-первых php artisan make:migration add_votes_to_users_table --table=users

public function up()
{
    Schema::table('users', function (Blueprint $table) {
         $table->integer('votes');
    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::table('users', function (Blueprint $table) {
        $table->dropColumn('votes');
    });
}
php artisan migrate

введите описание изображения здесь

Ошибка от cmd- В строке Connection.php 647:

SQLSTATE [42S01] А также В строке Connection.php 449:

SQLSTATE [42S01]: Базовая таблица или представление уже существует: 1050 Таблица «пользователи» уже существует

Ответы [ 3 ]

0 голосов
/ 13 ноября 2018

Проверьте свою базу данных. таблица пользователей уже выходит или нет. если вы создаете вручную. Вы получаете этот тип ошибки. если таблица пользователей там, вы можете удалить ее из базы данных вручную.

0 голосов
/ 13 ноября 2018

Спасибо всем за ваши предложения, Саша Благоевич, вы правы насчет того, что моя база данных была создана неправильно.На самом деле основная проблема возникает, когда я впервые создал базу данных, когда в пользовательской таблице появилось SQLSTATE [42000].Поэтому при обновлении таблицы все еще показывалась предыдущая ошибка.После ее устранения ошибки не было.

0 голосов
/ 13 ноября 2018

Я подозреваю, что причина, по которой вы получаете эти ошибки, может быть с двух сторон.

1) вы сами создали таблицу пользователей без запуска миграции

2) миграция была прервана.

Если вышеописанное не работает, попробуйте:

php artisan migrate:reset

чтобы откатить все ваши изменения или если вы хотите вернуться на 1 шаг за раз, вы можете попробовать:

php artisan migrate:rollback --step=1

Последнее, если вы уверены, что можете начать все сначала, и у вас все в порядке, что вы можете запустить:

php artisan migrate:fresh

Это приведет к удалению всех таблиц (проверьте базу данных, чтобы быть уверенным в этом, и удалить себе все, что осталось, даже если я не думаю, что что-нибудь останется, со мной никогда не случалось), а затем запустить

php artisan migrate 

сначала

...