#laravel #artisan-migrate
#laravel #artisan-перенести
Вопрос:
Я запускаю завершающий проект laravel в homestead. При запуске php artisan migrate
выдается ошибка.
Здесь полная ошибка.
В Connection.php строка 664:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'forum.chanel' doesn't exist (SQL: select * from `chanel`)
In Connection.php line 326:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'forum.chanel' doesn't exist
Это моя таблица chanel
public function up()
{
Schema::create('chanels', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->string('slug');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('chanels');
}
Почему я получаю ошибку и как я могу устранить эту ошибку?
Выдает ошибку при запуске composer update
Комментарии:
1. имя базы данных — forum
2. проверьте имя и порядок вашей миграции
3. Все как до запуска проекта
Ответ №1:
Вам нужно проверить свою migration
таблицу, чтобы узнать, выполнялась ли эта миграция в прошлом, обычно разработчики меняют код после выполнения миграции.
Или у вас может быть некоторый сбой / перехват, который выполняет запрос select * from chanel
непосредственно перед выполнением миграции, и это приводит к сбою миграции.
Комментарии:
1. Вы правы, но я не могу найти проблему и решение
2. если их нет в рабочей среде, вам нужно откатить все миграции и выполнить миграцию снова.
Ответ №2:
Похоже, что у вас имя модели и имя таблицы не синхронизированы, Перед этим удалите все таблицы из базы данных, это может быть проблема или механизм миграции при запуске таблицы миграции composer dumpa
затем
Попробуйте обновить свою модель, указав $table name,
class Chanel extends Model{
public $table = "chanels";
Комментарии:
1. Не могли бы вы, пожалуйста, удалить все таблицы из базы данных, а затем выполнить повторную миграцию, это также тот случай, когда вы заполняете какие-либо данные таблицы до ее существования.
Ответ №3:
Сначала необходимо выполнить новую миграцию, введите приведенную ниже команду
php artisan migrate:fresh
затем запустите новую модель с файлом миграции с помощью приведенной ниже команды
php artisan make:model chanel -m
с помощью этой команды автоматически создается файл миграции и файл модели
отредактируйте расположение файла миграции в {ваше приложение} база данных миграции
$table->string('title');
$table->string('slug');
добавлена приведенная выше строка в общедоступную функцию up(){ // code }
теперь запустите миграцию, введите приведенный ниже код
php artisan migrate
Я это это поможет вам
Комментарии:
1. команда artsan не работает. моя база данных обновлена. таблица не существует