日: 2019年11月29日

  • laravelのmigration(migrate)を使いcreate table

    laravelのmigration(migrate)を使いcreate table

    はじめに

    laravelのmigration機能を使ってcreate tableを行う。

     デフォルトの設定

    laravelのmigrationファイルは以下の通り

    “` database/migrations “` 配下にファイルが存在している。

    database/migrations/
    合計 12
    -rw-rw-r--. 1 coco nginx 746 11月 26 04:18 2014_10_12_000000_create_users_table.php
    -rw-rw-r--. 1 coco nginx 683 11月 26 04:18 2014_10_12_100000_create_password_resets_table.php

    テーブルを追加する

    migrationファイルの追加

    php artisan make:migration create_hogehoge_table --create="hoge"

    hogehogeというファイル名のintegration fileが作成され、hogeテーブル作成のphpファイルが作成される。

    カラムを追加する

    viで追加したいカラムを追加する

    laravelで使うことができるメソッドは以下の公式ドキュメントに書いてある

    https://laravel.com/docs/5.8/migrations

    例えば、stringであればvarcharに置き換えられる

    動作確認

    migrate前にテーブルを確認する

    mysql> show tables;
    +-------------------+
    | Tables_in_laravel |
    +-------------------+
    | migrations        |
    | password_resets   |
    | users             |
    +-------------------+
    3 rows in set (0.00 sec)

    デフォルトのusersテーブルと、残り2つはmigrationを実施する際に作成されるテーブル

    migrateを実施する

    php artisan migrate

    問題なければ以下のようにテーブルが新規でhogeテーブルが作成される

    mysql> show tables;
    +-------------------+
    | Tables_in_laravel |
    +-------------------+
    | hoge              |
    | migrations        |
    | password_resets   |
    | users             |
    +-------------------+
    4 rows in set (0.00 sec)
    
    mysql> 
    

     状況確認

    migrationの状況を確認するには “` migrate:status “` を実行する。

    [coco@instance-2 cms]$ php artisan migrate:status 
    +------+------------------------------------------------+
    | Ran? | Migration                                      |
    +------+------------------------------------------------+
    | Y    | 2014_10_12_000000_create_users_table           |
    | Y    | 2014_10_12_100000_create_password_resets_table |
    | Y    | 2019_11_28_161446_create_hogehoge_table        |
    +------+------------------------------------------------+
    [coco@instance-2 cms]$ 

    RunがYの場合は、migrationが完了しているものになる。

  • ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    はじめに

    パスワードを更新を促されるメッセージ。パスワードポリシーに則った形で変更するパスワードを必要がある。

    パスワード変更方法

    set password for root@localhost=password('hogeHoge@Hog123');

    結果以下の通りなれば成功

    mysql> set password for root@localhost=password('hogeHoge@Hog123');
    Query OK, 0 rows affected, 1 warning (0.05 sec)
    

    参考情報

    https://qiita.com/RyochanUedasan/items/9a49309019475536d22a