Laravel по-русски

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

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

#1 22.03.2017 16:53:09

respectpick
Откуда: Москва
Сообщений: 83

Почему не выполнилась миграция

сначала прописал в консоли

php artisan make:migration new_tables_championships --table=championships

создалась миграция, туда добавил

    public function up()
    {
        Schema::table('championships', function (Blueprint $table) {
            $table->string('championship_name',255);
            $table->string('championship_url_code',255);
            $table->integer('championship_type_id');
            $table->integer('championship_season_id');
            $table->integer('championship_start_playoff_id');
            $table->integer('championship_3place');
            $table->integer('championship_current_id');
            $table->integer('championship_stat_id');
            $table->integer('championship_mingk');
            $table->integer('championship_maxplayers');
        });
    }

затем прописал в консоли

php artisan migrate
Migrating: 2017_03_22_133851_new_tables_championships
Migrated: 2017_03_22_133851_new_tables_championships

но в бд ничего не поменялось

Не в сети

#2 22.03.2017 17:07:43

Re: Почему не выполнилась миграция

у вас случаем не OpenServer и phpMyAdmin стоит?
если так то в некоторых версиях есть косячок в phpMyAdmin, там в левом фрейме новые таблицы не появляются, нажмите на саму базу и посмотрите в основном окне

Не в сети

#3 22.03.2017 17:17:35

respectpick
Откуда: Москва
Сообщений: 83

Re: Почему не выполнилась миграция

Dens пишет:

у вас случаем не OpenServer и phpMyAdmin стоит?
если так то в некоторых версиях есть косячок в phpMyAdmin, там в левом фрейме новые таблицы не появляются, нажмите на саму базу и посмотрите в основном окне

нет, CentOS и phpmyadmin.

Причем нормально срабатывает миграция на создание таблицы

Не в сети

#4 22.03.2017 17:46:43

Re: Почему не выполнилась миграция

в таблице migrations есть запись о последней миграции?
попробуйте выполнить простой запрос к новой базе (к новой таблице), какой ни будь select можно прям из phpmyadmin

Не в сети

#5 22.03.2017 18:06:53

respectpick
Откуда: Москва
Сообщений: 83

Re: Почему не выполнилась миграция

в таблице запись есть.

после sql запроса

Error
SQL query: Documentation


SELECT championship_name FROM `sfc_championships` WHERE 1
 LIMIT 0, 25 
MySQL said: Documentation

#1054 - Unknown column 'championship_name' in 'field list' 

Не в сети

#6 22.03.2017 18:21:11

Re: Почему не выполнилась миграция

Так у вас имя таблицы --table=championships
то есть championships а не sfc_championships

Не в сети

#7 22.03.2017 18:22:19

respectpick
Откуда: Москва
Сообщений: 83

Re: Почему не выполнилась миграция

Dens пишет:

Так у вас имя таблицы --table=championships
то есть championships а не sfc_championships

а то, что я указал префикс в конфигурации бд не имеет значения?

Не в сети

#8 22.03.2017 18:28:58

Re: Почему не выполнилась миграция

Из первого поста я вижу только

 Schema::table('championships', function (Blueprint $table) {

А где вы его указывали?
Запрос получился?

Не в сети

#9 22.03.2017 18:29:29

respectpick
Откуда: Москва
Сообщений: 83

Re: Почему не выполнилась миграция

сейчас создал миграцию

    public function up()
    {
        Schema::table('sfc_championships', function (Blueprint $table) {
            $table->string('championship_name',255);
            $table->string('championship_url_code',255);
            $table->integer('championship_type_id');
            $table->integer('championship_season_id');
            $table->integer('championship_start_playoff_id');
            $table->integer('championship_3place');
            $table->integer('championship_current_id');
            $table->integer('championship_stat_id');
            $table->integer('championship_mingk');
            $table->integer('championship_maxplayers');
        });
    }

вызываю migrate, получаю ошибку Table sfc_sfc_championships doesn`t exist

Не в сети

#10 22.03.2017 18:30:35

respectpick
Откуда: Москва
Сообщений: 83

Re: Почему не выполнилась миграция

Dens пишет:

А где вы его указывали?

config/database.php

'prefix' => 'sfc_'

Не в сети

#11 22.03.2017 18:36:52

Re: Почему не выполнилась миграция

хмммм, тут только руками щупать, сказать не могу.
Так запрос по типу

SELECT championship_name FROM `championships` WHERE 1

не прошёл?

Не в сети

#12 22.03.2017 18:39:49

respectpick
Откуда: Москва
Сообщений: 83

Re: Почему не выполнилась миграция

Dens пишет:

хмммм, тут только руками щупать, сказать не могу.
Так запрос по типу

SELECT championship_name FROM `championships` WHERE 1

не прошёл?

странно, закомментировал строчку

//$table->string('championship_name',255);

и все выполнилось.

Теперь новая проблема, создал новую миграцию, делаю php artisan migrate, Ловлю ошибку

Class 'Doctrine\DBAL\Driver\PDOMysql\Driver' not found

Не в сети

#13 22.03.2017 18:45:14

respectpick
Откуда: Москва
Сообщений: 83

Re: Почему не выполнилась миграция

нагуглил, помогло решение composer require doctrine/dbal

Не в сети

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