- 必須
Laravel
データベース移行機能、私は強迫性障害のある乙女座なので、ファイルに自分で名前を付けるのが好きです。例:
- #数ラウンドの試行の後、
## が見つかりました。 # 移行ファイルのファイル名の命名形式 解析が固定されているため、そのスタイルに従ってファイル名を正確に記述すると、正常に実行されます
-
#もちろんクラス名も統一する必要があります:
- 不満の点は次のとおりです:
- ドキュメントには言及されていませんファイル名の命名スタイルの必須要件 したがって、今日この落とし穴を記録する
は、フレームワークのもう 1 つの落とし穴または欠点であると思われます。つまり、テーブル構造 を継続的に統合することができません
たとえば、今日、特定のテーブルにフィールドを追加する必要があります。しかし、そのテーブルはこの時点で移行されているため、- 同じ移行ファイルを再度実行する方法はなく、新しい移行ファイルを作成する必要があります
- もちろん、これがロールバックを容易にするためであることも理解していますが、私の要件は、新しい関数のフィールドを継続的に追加するのにロールバックは必要ないため、私の
解決策
は、 migrations - このテーブルをクリアすることですこのテーブルは、それを繰り返すことができるかどうかを制御するため、毎回同じ移行ファイルが実行される場合、コードは次のとおりです。
trait Trait_Migrate { /** * @desc 数据表:初始化 * @return Void */ static public function CI_Table_Structure() : Void { # 清空记录表以保证能持续迁移 DB::table( 'migrations' ) -> truncate(); # 执行迁移 Artisan::call( 'migrate --force --path=/database/migrations/' . SELF::$CI_File ); } }
一般的に、次のようにするとスムーズに進みます。フレームワークのルールは完全に文書化されています。しかし、プロジェクトを実行する場合、フレームワークのデフォルトの機能ではニーズを満たすことができません。状況はごく普通のことです。
関連する推奨事項: