В настоящее время моя таблица содержит uuid user_id
, который не может иметь значение nullable, таблица была перенесена и теперь работает.
Я хочу добавить nullable в столбец, но я где-то читал, что с помощью Метод change () в миграции не поддерживается в uuids?
Опция состояла в том, чтобы перетаскивать столбец в верхнем, а затем в его прежнее состояние, сначала под миграцией, и все нормально, и я могу выполнить откат, как предполагалось, но когда я запускаю мои тесты PHPUnit я получаю следующую ошибку
General error: 1 Cannot add a NOT NULL column with default
value NULL
Миграция для удаления столбца
public function up()
{
Schema::table('imports', function (Blueprint $table) {
$table->dropColumn('user_id');
}); }
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('imports', function (Blueprint $table) {
$table->uuid('user_id');
});
}
В моей исходной миграции ниже я попытался удалить столбец, как указано выше, затем создайте столбец снова, так как он будет обнуляемым, но я получаю ту же ошибку в моих тестах
Миграция для перехода на nullable
public function up()
{
Schema::table('imports', function (Blueprint $table) {
$table->dropColumn('user_id');
});
Schema::table('imports', function (Blueprint $table) {
$table->uuid('user_id')->nullable()->after('id');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('imports', function (Blueprint $table) {
$table->uuid('user_id');
});
}