7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

laravel MySQL tinyInteger型のカラムはchangeできない

Last updated at Posted at 2021-02-10

目的

  • マイグレーションファイルを用いてTinyInt型のカラム情報を変更しようとしたけどエラーが出たのでまとめる

情報

  • 今回の事例はすでに作成されているTinyInt型カラムのコメントを変更しようとした。

エラーまでの経緯

  1. マイグレーションファイルのup側に下記のように記載してカラムのコメントを変更しようとした。

    $table->tinyInteger('カラム名')->comment('変更後のコメント')->change();
    
  2. 下記コマンドを実行してマイグレーションを実行した。

    $ php artisan migrate
    

エラー

  • 下記のエラーが出力された。

    Unknown column type "tinyinteger" requested. Any Doctrine type that you use has to be registered with \Doctrine\DBAL\Types\Type::addType(). You can get a list of all the known types with \Doctrine\DBAL\Types\Type::getTypesMap(). If this error occurs during database introspection then you might have forgotten to register all database types for a Doctrine Type. 
    Use AbstractPlatform#registerDoctrineTypeMapping() or have your custom types implement Type#getMappedDatabaseTypes(). If the type name is empty you might have a problem with the cache or forgot some mapping information.
    

原因

  • 公式ドキュメントにこんな記載を発見した。https://readouble.com/laravel/6.x/ja/migrations.html

    Note: 以降のカラムタイプのみ変更可能です:bigInteger、binary、boolean、date、dateTime、dateTimeTz、decimal、integer、json、longText、mediumText、smallInteger、string、text、time、unsignedBigInteger、unsignedInteger and unsignedSmallInteger
    
  • このドキュメントによるとTinyIntegerはchangeメソッドを用いた変更をする事ができない。

解決までの経緯

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?