15

I am trying to alter the column datatype using Laravel migration. But I am facing following error. Please help me out.

Schema::table('files', function(Blueprint $table) {
    $table->integer('app_id')->change();
    $table->index(['app_id', 'filename']);
});

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHARACTER SET utf8 DEFAULT 0 NOT NULL COLLATE utf8_unicode_ci' at line 1 (SQL: ALTER TABLE files CHANGE app_id app_id INT CHARACTER SET utf8 DEFAULT 0 NOT NULL COLLATE utf8_unicode_ci)

11
  • Does this answer your question? Laravel migrations change a column type from varchar to longText Commented Nov 21, 2019 at 14:07
  • Not working for the following $table->integer('app_id')->change(); When I convert string to integer CHARACTER SET utf8 added automatically. How to remove this? Commented Nov 21, 2019 at 14:12
  • Do you have doctrine/dbal package in your laravel project? Commented Nov 21, 2019 at 14:14
  • Yes I have doctrine/dbal. Commented Nov 21, 2019 at 14:15
  • 1
    I didn't change anything. It is a fresh installation Commented Nov 25, 2019 at 7:56

2 Answers 2

14

As a alternative solution to https://github.com/doctrine/dbal/issues/3714 that is downgrading the doctrine/dbal package u can do:

Schema::table('member_section', function (Blueprint $table) {
    $table->bigInteger('type')->charset(null)->collation(null)->change();
});
Sign up to request clarification or add additional context in comments.

Comments

11

Your issue is most likely caused by a bug in the most recent version of the doctrine/dbal package. The issue was introduced with v2.10.0.

You can always downgrade the package in your composer.json to v2.9.3 it should work just fine.

See the offical issue here: https://github.com/doctrine/dbal/issues/3714

1 Comment

Wow, I wasted hours on this before I finally found your post. Laravel and Doctrine each have been blaming each other. It's still not resolved. I'll just ignore for now. github.com/laravel/framework/issues/…

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.