Как в laravel с помощью миграций поменять тип колонки со строки на число?

  1. Категория:
  2. Программирование
  3. php
  4. Frameworks
  5. laravel
Автор: osVald Дата: 23:53 26-09-2024 Просмотров: 51 Ответов: 1
Как в laravel с помощью migration поменять тип колонки с string на int?

Случайно создал колонку с типом text, а мне нужно было числовое значение int.
Как можно поменять тип переменной в колонке таблицы без потери данных?
Нравится:
Loading...
3
Карма: 0
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Автор: leonid
Дата: 21:06 08-10-2024
Представим, что у нас есть таблица со списком пользователей "users". И нужно в ней у колонки возраст "age" поменять тип string на int.

Меняем колонку "age" с типа string на тип integer.
Schema::table('users', function (Blueprint $table) {
    $table->integer('age')->change();
});

Нравится:
Loading...
1
Карма: 0
Комментарии:
Автор: sydney
Дата: 18:07 09-10-2024
Я сталкивался с похожей проблемой.
Если поле "age" могло принимать значение null, то скорее всего вы могли получить слудующую ошибку: 
CHARACTER SET utf8 DEFAULT 0 NOT NULL COLLATE utf8_unicode_ci' at line 1


В таком случае можно попробовать передать свойства charset и collation со значением null.
Schema::table('users', function (Blueprint $table) {
    $table->bigInteger('age')->charset(null)->collation(null)->change();
});

Нравится:
Loading...
1
Карма: 1
© 2024 Zambers.Ru All Rights Reserved.

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем файлы cookies