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
ツール
データベースを外からのぞき見や編集するツール。
リモートから接続する際の設定情報
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