Я хочу преобразовать поле из строки в логическое значение, используя этот код:
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->boolean('email_permission')->change();
$table->boolean('sms_permission')->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
//
});
}
но я получил ошибку ниже
Doctrine\DBAL\Driver\PDOException::("SQLSTATE[42804]: Datatype mismatch: 7 ERROR: column
"email_permission" cannot be cast automatically to type boolean
HINT: You might need to specify "USING email_permission::boolean".")
это оригинальная миграция:
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('email_permission')->nullable()->default('0');
$table->string('sms_permission')->nullable()->default('0');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('email_permission');
$table->dropColumn('sms_permission');
});
}
как я могу изменить тип этого поля с целого на логический?