人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます:タグ「artisan」での検索

Laravel の バージョン( Ver )をソースコード、コマンド、Bladeテンプレートから調べる

● Laravel の バージョンをソースコードから調べる

vendor/laravel/framework/src/Illuminate/Foundation/Application.php を調べます

	/**
	 * The Laravel framework version.
	 *
	 * @var string
	 */
	const VERSION = '5.0.31';

● Laravel の バージョンをコマンドから調べる

php artisan -V

● Laravel の バージョンを Blade テンプレートから調べる

{{ App::VERSION() }}
No.1454
06/11 09:32

edit

Blade
artisan

artisan migrate コマンドを本番サーバで安易に実行しないようにする

● artisan migrate コマンドを本番サーバで安易に実行しないようにする

.env を 以下のように設定します。

APP_ENV=production

APP_ENV=production の設定がある時に、migrate コマンドを実行すると

$ artisan migrate:fresh --seed

次のような確認入力が表示されます。
これで本番環境で安易なマイグレーションの実行を抑止することができます。

**************************************
*     Application In Production!     *
**************************************
 Do you really wish to run this command? (yes/no) [no]:
No.1415
01/16 11:51

edit

artisan

Laravel で DBモデル(データベース)のカラムを変更(追加)する

1. テーブル変更のパッケージを追加する

composer require doctrine/dbal

2. テーブル「articles」を変更するマイグレーションファイル「add_columns_articles_table」を生成する

add_columns_articles_table は任意の命名でOKですが「作業内容_テーブル名_table」としておくとテーブル作成時のファイルと命名が揃います

php artisan make:migration add_columns_articles_table  --table=articles

3. 生成されたファイル「2018_xx_xx_xxxxxx_add_columns_articles_table.php」にテーブル追加の命令を記述する

例:「articles」テーブルに以下のカラムを追加します

・「status_id」カラムの後ろにint型の「recruit_flg」を追加します
・「recruit_flg」カラムの後ろにint型の「recruit_date」を追加します
    public function up()
    {
        Schema::table('articles', function (Blueprint $table) {
            $table->integer('recruit_flg')->default(0)->after('status_id');    // この行を追加
            $table-> dateTime('recruit_date')->nullable()->after('recruit_flg');    // この行を追加
        });
    }

注意:SQLiteでは任意の位置にカラム追加が出来ないようです
回避策 : https://goo.gl/a2atCx

4. マイグレーションを戻す処理を down()メソッドに記述します

    public function down()
    {
        Schema::table('articles', function (Blueprint $table) {
            $table->dropColumn(['recruit_date','recruit_flg']);
        });
    }

5. カラム追加のマイグレーション実行

php artisan migrate

6. 実行したマイグレーションを戻す

php artisan migrate:rollback

以上で、既存のデータベースのデータを削除することなく、カラムを追加できます。

No.1381
05/10 11:16

edit

モデル
artisan