Program Resource

開発者向け各種コード、アルゴリズム、リソース情報ライブラリ もしくはねふぁの覚え書き

Laravel/vueのちょっとした事の覚え書き。Laravel 8.xで作業した際の情報。

コマンド

データベース作成のコマンド

php artisan make:model -mc modelname

その他migration系のコマンド

php artisan migrate:reset
php artisan migrate:refresh
php artisan migrate:fresh
php artisan make:migration xxxxxx --table=xxxx

php artisan make:controller xxxxxx
php artisan make:model xxxxx
php artisan make:request xxxxx
php artisan make:model -mc xxxxx モデル、マイグレーション、コントローラー同時作成

コマンドラインからデータベースの中身を見る
-u はユーザー名 -p はパスワード パスワード指定しなければ聞いてくる。

mysql -u laravel -p

//データベース作成
create database xxxxx;

//データベースやテーブル、カラムのリストを見る
show databases;
show tables from xxxxx;
show columns from xxxxx.xxxxx;

//データベースを選択
use xxxxxx;

//データを表示
select * from xxxxxx;

//やめる時
quit;

データベースが上手く動かない時、一度消してから再インストールする時のコマンド。

sudo apt-get remove --purge mysql-server* mysql-common
sudo apt-get autoremove --purge
sudo rm -r /etc/mysql
sudo rm -r /var/lib/mysql
sudo apt install mysql-server
sudo mysql_secure_installation

ツール

データベースを外からのぞき見や編集するツール。

MySQL workbench

リモートから接続する際の設定情報

https://www.digitalocean.com/community/tutorials/how-to-connect-to-a-mysql-server-remotely-with-mysql-workbench

migration時のデータ構造変更

カラムの追加と削除。dropColumnでデータベースを古いバージョンに戻す際削除。

   public function up()
    {
        Schema::table('items', function (Blueprint $table) {
            $table->string('tag')->nullable();
            $table->dropColumn('order');
            $table->dropColumn('model');
        });
    }
    public function down()
    {
        Schema::table('items', function (Blueprint $table) {
            $table->dropColumn('tag');
            $table->smallInteger('order')->default(0);
            $table->smallInteger('model')->default(0);
        });
    }

データをstringからtextに変更する(データは消えないのでstringで設定したけどtextに拡張したい時)

itemテーブルのnoteを変更する

	up
            DB::statement('ALTER TABLE item MODIFY COLUMN note TEXT');

	down
            DB::statement('ALTER TABLE item MODIFY COLUMN note STRING');

デフォルト値を変更する。user_idのデフォルト値を0に変更する場合。

public function up()
    {
        Schema::table('items', function (Blueprint $table) {
            $table->smallInteger('user_id')->default(0)->change();
        });
    }

色々やっていてmigrationのデータを実行済みとしたい場合。
migrationのデータベースに該当名を登録する。

insert into migrations(migration, batch) values('2021_10_08_135422_create_index',1);

https://stackoverflow.com/questions/35115541/laravel-5-skip-migrations

Print Friendly, PDF & Email