Laravel Artisan ничего не говорит о миграции

Я установил миграцию с помощью php artisan migrate:install, а затем создал миграцию с помощью команды php artisan migrate:make create_teams_table. Теперь я пытаюсь запустить их со следующей командой, которую я сделал в соответствии с официальной документацией :

php artisan migrate --path=app/foo/migrations/2014_01_21_143531_create_teams_table.php

Это дает мне следующее на консоли:

Ничего мигрировать.

Таблица migrations в базе данных пуста, и новая таблица не создается. Я не понимаю, почему в документации указано foo в пути. Что означает foo и откуда оно взялось? Сначала я утверждал, что путь неправильный из-за объекта foo, и поскольку я знаю, что путь относится к папке app, поэтому я изменил его на app/database/migrations, но он не работает. Я также пробовал много другой комбинации путей, но никто из них не работал.

Я ввел неправильный путь? В этом случае консоль не должна показывать какое-то другое полезное сообщение? Что означает foo? Как запустить миграцию?

Ответ 1

Это foo вещь просто пример. Laravel будет искать миграции для запуска в app/database/migrations по умолчанию. Попробуйте удалить этот параметр --path и посмотреть, работает ли он.

Ответ 2

Попробуйте следующее:

Во-первых:

C:\xampp\htdocs\laravel-master>php artisan migrate:reset

Откат: 2014_03_28_142140_user_table

Откат отката.

второй:

C:\xampp\htdocs\laravel-master>php artisan migrate

Миграция: 2014_03_28_142140_user_table

проверить базу данных.

Ответ 3

Аргумент path предназначен для создания миграции, например:

 php artisan migrate:make create_user_table --path=app/database/migrations/user_migrations/

Но это не документировано для использования при выполнении миграций, как это было в предыдущих версиях laravel.

Отбрасывание аргумента --path должно работать в вашем случае

Ответ 4

Что помогло мне:

php artisan config:cache
php artisan migrate

Ответ 5

Для тех, кто все еще не может перенести свою базу данных:

Предположим, у вас есть файл для переноса abc_migrate.php.

Сначала поместите ваш файл в новую папку с именем abc_folder. Затем введите эту команду php artisan migrate --path=database/migrations/abc_folder/.

Вам не нужно добавлять имя файла в конце пути к каталогу.

Готово. Надеюсь, это поможет.

Ответ 6

Вам не нужно никуда перемещать файл миграции, просто измените его имя файла; например, увеличьте целочисленное время, а затем запустите команду migrate указав путь к миграции. например: php artisan migrate --path="database/migrations/2019_07_06_145857_create_products_table.php"

Ответ 7

Проблема возникает, если таблица migrations в базе данных пуста. Таким образом, решение состоит в том, чтобы открыть повозку от композитора

$ php artisan tinker
>>> Schema::drop('users')
>>> Schema::drop('password_resets')
>>> Schema::drop('orders')
>>> exit
php artisan migrate

Вот результат выполнения вышеуказанных команд

[email protected]:~/Desktop/html/hutch$ php artisan migrate

В строке Connection.php 647: SQLSTATE [42S01]: Базовая таблица или представление уже существует: 1050 Таблица "пользователи" уже существует (SQL: создать users таблицы (id int без знака, не ноль, первичный ключ auto_incrment, name varchar (255) не нуль, email VARCHAR (255) не п Улла, password VARCHAR (255) NOT NULL, remember_token VARCHAR (100) нулевой, created_at метка времени нуль, updated_at метки времени нулевой) набор символов по умолчанию utf8mb4 сверять utf8mb4_unicode_ci)

В строке 449 Connection.php: SQLSTATE [42S01]: Базовая таблица или представление уже существует: 1050 Таблица "пользователи" уже существует

[email protected]:~/Desktop/html/hutch$ php artisan migrate:rollback
Nothing to rollback.
[email protected]:~/Desktop/html/hutch$ php artisan tinker
Psy Shell v0.8.17 (PHP 7.1.20-1+ubuntu16.04.1+deb.sury.org+1 — cli) by Justin Hileman
>>> Schema::drop('users')
=> null
>>> Schema::drop('password_resets')
=> null
>>> Schema::drop('orders')
=> null
>>> exit
Exit:  Goodbye.
[email protected]:~/Desktop/html/hutch$ php artisan migrate
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table
Migrating: 2018_08_18_071213_create_orders_table
Migrated:  2018_08_18_071213_create_orders_table
[email protected]:~/Desktop/html/hutch$ 

Также определите метод down(), если он не существует.
Иначе это покажет

SQLSTATE [42S02]: Базовая таблица или представление не найдено: 1051 Неизвестная таблица 'XYZ.ABC' (SQL: отбрасывание таблицы ABC)

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

Ответ 8

Убедитесь, что вы определили схему в вашей функции Up в файле миграции