Почему миграция php не выполняется при изменении типа столбца таблицы на строку с числового - PullRequest
0 голосов
/ 05 августа 2020

Я новичок в платформе PHP и laravel, мне нужна ваша помощь, чтобы разрешить PDOException при запуске задачи миграции, чтобы изменить тип столбца таблицы с числа на строку.

...
public function up()
{
    Schema::table('BuildTable', function (Blueprint $table) {
       $table->string('snapshot_id')->change();
    });

}
....

получение исключения PDOException при запуске задача миграции

Doctrine\DBAL\Driver\PDOException::("SQLSTATE[0A000]: Feature not supported: 7 ERROR:  unimplemented: type conversion from INT8 to VARCHAR(255) requires overwriting existing values which is not yet implemented
HINT:  You have attempted to use a feature that is not yet implemented.

Существующая структура таблицы была создана с использованием

      Schema::create(
        $this->tablename,
        function (Blueprint $table) {
            $table->increments('id');
            $table->integer('account_id')->unsigned();
            $table->integer('snapshot_id')->unsigned();
            $table->timestamps(6);
            $table->softDeletes('deleted_at', 6)->default(null);
        }
    );

В существующей таблице уже есть данные в snapshot_id

Php версия 7.3.20 работает на linux mint OS, База данных - cockroachDB

1 Ответ

0 голосов
/ 18 августа 2020

Эта функция будет экспериментально доступна в CockroachDB v20.2, который выйдет позже в этом году.

При желании вы можете протестировать альфа-версию (v20.2.0-alpha.2) который имеет эту функцию. См. Примечания к выпуску . Для его использования необходимо установить следующую переменную сеанса: SET enable_experimental_alter_column_type_general = true;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...