Дополнительно
Добавление нового столбца к существующей таблице в миграции
Я не могу понять, как добавить новый столбец в существующую таблицу базы данных с помощью фреймворка Laravel.
Я попытался отредактировать файл миграции, используя...
<?php
public function up()
{
Schema::create('users', function ($table) {
$table->integer("paid");
});
}
В терминале я выполняю команды php artisan migrate:install
и migrate
.
Как мне добавить новые колонки?
226
9
Для создания миграции вы можете использовать команду migrate:make в Artisan CLI. Используйте конкретное имя, чтобы избежать столкновения с существующими моделями
для Laravel 3:
для Laravel 5+:
Затем вам нужно использовать метод
Schema::table()
(поскольку вы обращаетесь к существующей таблице, а не создаете новую). И вы можете добавить столбец следующим образом:и не забудьте добавить опцию отката:
После этого вы можете запускать миграции:
Все это хорошо описано в документации по Laravel 3:
И для Laravel 4 / Laravel 5:
Редактировать:
используйте
$table->integer('paid')->after('whichever_column');
для добавления этого поля после определенного столбца.Я'МР приплюсовать к mike3875'ы ответ для будущих читателей, используя фреймворк Laravel 5.1 и старше.
Чтобы сделать вещи быстрее, вы можете использовать флаг " и--таблица, что" такой:
Это позволит добавить "вверх" и "вниз" метод контент автоматически:
Кроме того, вы можете использовать `--создать["и имя_таблицы" и вариант, когда создание новых миграций, который будет добавить больше стандартного на свой миграций. Мелочь, но полезно, когда делаешь их много!
Если вы используете Laravel 5, команда будет выглядеть следующим образом;
Все команды для создания вещей (контроллеров, моделей, миграций и т.д.) были перенесены под команду
make:
.Хотя команда
php artisan migrate
осталась прежней.5.6 фреймворк Laravel # и выше
в случае, если вы хотите добавить новый столбец в качестве внешнего ключа к существующей таблице.
Создать новый миграции, выполнив следующую команду : производитель:миграции
Пример :
В базу данных/папку новый файл миграции, что-то типа миграций :
2018_08_08_093431_add_store_id_to_users_table.php (см. комментарии)
После этого выполните команду :
В случае, если вы хотите отменить последнее миграции по какой-либо причине, выполните эту команду :
Вы можете найти более подробную информацию о миграции в документации
Вы можете добавить новые колонки в исходном методе
Schema::create
следующим образом:Если вы уже создали таблицу, вы можете добавить дополнительные колонки в эту таблицу, создав новую миграцию и используя метод
Schema::table
:Документация по этому вопросу достаточно подробна и не слишком изменилась с версии 3 до версии 4.
вы можете просто изменить ваш существующий файл миграции, например добавить столбец в таблицу, а затем в терминале введите :
это все работает на фреймворк Laravel 5.1.
во-первых, на вашем терминале выполнить этот код
после этого перейдите в папку проекта и расширения базы данных - миграция и редактирования файлов add_paid_to_users.php добавьте этот код
после этого вернуться в свой терминал и выполните эту команду
надеюсь, что это поможет.
Первый откат предыдущей миграции
После этого, вы можете модифицировать ваш существующий файл миграции (добавлять новые , переименовывать или удалять столбцы) повторно запустить миграцию файл
Хотя файла переноса является наилучшей практикой, как уже упоминалось, в крайнем случае можно также добавить столбец с Тинкер.
$ с PHP ремесленника повозиться
Здесь'ы пример один-вкладыш для терминала:
в PHP Схемы::настольный('пользователей', функция(\осветить\базы данных\схема\план $таблица){ $таблица->целое число('и#39;); })
<БР> <БР> (Здесь он отформатирован для удобства чтения)
в PHP Схемы::настольный('пользователей', функция(\осветить\базы данных\схема\план $таблица){ $таблица->целое число('и#39;); });