Open5
Larevel コマンドいろいろ
ルート設定の一覧表示。
sail
が主流だが、使わない場合はphp artisan
となる。
sail artisan route:list
php artisan route:list
コントローラを作る
sail artisan make:controller TestController
テーブル作成
マイグレーションファイルの作成
sail artisan make:migration マイグレーションファイル名
マイグレーションファイルとモデルの新規ファイルを作成
sail artisan make:model モデル名 -m
マイグレーションファイルの反映
sail artisan migrate
マイグレートを取り消す
sail artisan migrate:rollback
ただし取り消しはbatchごとになる。
batchごとではなくすべてのマイグレートを取り消すにはreset
sail artisan migrate:reseet
rollback reset refreshなど取り消し操作はデータが消えるので注意する。
ロールバック後はdatabase/migration
の中にあるマイグレーションファイルを削除する。でないと次回マイグレーションを実行した場合にまた実行される
テーブルの構造を変更する
追加、削除、変更などのマイグレーションファイルを作成する。
sail aritisan make:migration add_test_column --table=users
処理は同じなので以後、マイグレーションファイル作成のコマンドは省略。
カラムの追加
例えばUsersテーブルのemailカラムの横にstring型のtestカラムを追加してみる
public function up(): void
{
Schema::create('tests', function (Blueprint $table) {
$table->string('test')->after('email');
});
}
/**
* Reverse the migrations.
*/
public function down(): void{
$table->dropColumn('test');
}
カラムの削除
今度はカラムの削除。
delete_test_column.php
public function up(): void
{
Schema::create('tests', function (Blueprint $table) {
$table->dropColumn('test');
});
}
/**
* Reverse the migrations.
*/
public function down(): void{
$table->string('test')->after('email');
}
カラムの追加と比べて分かるとおり、up
メソッドではdropColumn
メソッドを使用して、down
メソッドではテーブルにカラムを追加する処理を記載していて、カラムを追加する処理と逆になっている
カラム名を変更
カラム名を変更する処理
rename_test_column .php
public function up(): void
{
Schema::create('tests', function (Blueprint $table) {
$table->renameColumn('test','trial');
});
}
/**
* Reverse the migrations.
*/
public function down(): void{
$table->renameColumn('trial','test');
}
カラムの型を変更
string
型からtext
型に変更。change
メソッドを使用。
rename_test_column .php
public function up(): void
{
Schema::create('tests', function (Blueprint $table) {
$table->text('test')->change();
});
}
/**
* Reverse the migrations.
*/
public function down(): void{
$table->string('test')->change();
}
カラムの修飾子を追加
null
を許容するかどうかを追加。change
メソッドを使用。
rename_test_column .php
public function up(): void
{
Schema::create('tests', function (Blueprint $table) {
$table->string('test')->nullable()->change();
});
}
/**
* Reverse the migrations.
*/
public function down(): void{
$table->string('test')->nullable(false)->change();
}
Larevelのプログラムを作成
composer create-project laravel/laravel {プロジェクト名} "10.*" --prefer-dist
ここのブログを参照。dockerを使った方法ではない。