Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 12.01.2018 17:14:09

SQLSTATE[42S01]: Base table or view already exists: 1050

In Connection.php line 664:

  SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'credit_prop_fees' already exists (SQL: create table `credit_prop_fees` (`id` int unsigned not null auto_increment primary key, `fee_id` int not null, `created_at` timestamp null, `updated_at`
  timestamp null) default character set utf8mb4 collate utf8mb4_unicode_ci)



Есть 2 миграции
Первая

  public function up()
    {
        Schema::create('credit_prop_fees', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('fee_id');


            $table->timestamps();
        });
    }

И во второй как видите есть удаление предыдущей таблицы
public function up()
    {
        Schema::dropIfExists('credit_prop_fees');

        Schema::create('credit_prop_fees', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('credit_id');
            $table->integer('credit_prop_id');
            $table->integer('fee_type_id');
            $table->integer('fee_value_id');
            $table->timestamps();
        });
    }

Что ему может тут не нравится Есть же Schema::dropIfExists('credit_prop_fees');

И даже вот это не срабатывает
C:\OSPanel\domains\laravel.bai.loc>php artisan tinker
Psy Shell v0.8.17 (PHP 7.1.12 — cli) by Justin Hileman
>>> Schema::drop('credit_prop_fees');
=> null


Спасибо огромное за ответы

Изменено imediasun (12.01.2018 17:22:35)

Не в сети

#2 12.01.2018 18:14:36

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Вторая точно после первой идет? Если да, то попробуй comoser du, может забыл запустить. И еще, какую команду ты запускаешь?

Не в сети

#3 12.01.2018 18:31:42

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Привет вторая не прямо за первой идет может чуть позже php artisan migrate:refresh composer dump-autoload запускал конечно

Изменено imediasun (12.01.2018 19:21:39)

Не в сети

#4 12.01.2018 19:24:16

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Если refresh запускаешь, то может down() не срабатывает и не удаляет таблицу перед первой миграцией. Запусти php artisan migrate:fresh вместо refresh.

Не в сети

#5 12.01.2018 19:29:51

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Она и в потоке не хочет срабатывать dropIfExist() когда я запускаю просто даже php artisan migrate. Я ж говорю даже тинкером не убирает таблицу

Изменено imediasun (12.01.2018 19:31:02)

Не в сети

#6 12.01.2018 20:03:44

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

А ты тинкер перезапустил после того, как изменил миграции?

Не в сети

#7 12.01.2018 20:07:36

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Они у меня идут одна за другой через несколько, я запустил php artisan migrate у меня вылезла ошибка таблица не удалилась и я запустил тинкер получил null

Не в сети

#8 12.01.2018 20:15:11

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Туплю. Таблица должна удаляться из тинкера в любом случае. Вижу твой вопрос на StackOverflow, может там помогут. )

Не в сети

#9 12.01.2018 20:18:17

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

А Schema::drop удаляет таблицу в тинкере?

Не в сети

#10 12.01.2018 20:31:43

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Туплю Schema::dropIfExists('credit_prop_fees'); Удаляет из тинкера только почемуто в тинкере null как ответ, но таблица удаляется

http://prntscr.com/hzkdth

Изменено imediasun (12.01.2018 20:36:51)

Не в сети

#11 12.01.2018 20:46:50

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

null это нормально. Давай по порядку. Если ты удалишь таблицу, запустишь composer du и после php artisan migrate, ты получаешь ошибку? Если да, то покажи имена файлов обеих миграций, просто чтобы быть уверенным.

Не в сети

#12 12.01.2018 20:50:49

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Не в сети

#13 12.01.2018 20:53:45

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

А кодировка не влияет вот в месадже чтото пишут про кодировку
http://prntscr.com/hzkmlr

Не в сети

#14 12.01.2018 20:56:17

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

А у тебя репо открыт? Можно посмотреть все миграции как-то? Или вообще клонировать и попробовать самому.

Не в сети

#15 12.01.2018 20:58:53

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Что ты имеешь ввиду репо открыт? http://prntscr.com/hzkp80

Не в сети

#16 12.01.2018 20:59:39

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Код на github/bitbucket?

Не в сети

#17 12.01.2018 21:02:16

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

bitbucket я клонировал его какое имеет отношение репозиторий к миграциям?

Не в сети

#18 12.01.2018 21:05:16

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

bitbucket я клонировал его какое имеет отношение репозиторий к миграциям?

Можно посмотреть все миграции как-то? Или вообще клонировать и попробовать самому.

Не в сети

#19 12.01.2018 22:25:37

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

В общем там из-за имени класса/названия файла конфликт.

1. Переименуй класс второй миграции в RecreateCreditPropFeesTable.
2. Переименуй имя файла в recreate вместо create.
3. composer du
4. php artisan migrate:fresh

Миграция работает.

У тебя дальше там еще ошибки, но с мними, думаю, разберешься.

Не в сети

#20 12.01.2018 22:44:59

Re: SQLSTATE[42S01]: Base table or view already exists: 1050

Спасибо тебе огромное

Не в сети

Подвал раздела