質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

2357閲覧

マイグレーションファイルに変更を加える場合について

toll_tree

総合スコア199

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2019/06/20 14:52

laravelのマイグレーションについて、お聞きしたい点があります。

<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateReservationsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('reservations', function (Blueprint $table) { $table->mediumIncrements('id'); $table->dateTime('reservation_date'); $table->integer('tal'); $table->string('other',256); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('reservations'); } }

マイグレーションファイルを「php artisan migrate」とした後に、$table->integer('tal');ここの部分のスペルミスに気づき「tel」としたかった際に、単純にこの部分を書き換え、phpMyAdminなどで、カラム名を変更するだけで良いのでしょうか?
それとも「migrate:refresh」とし、テーブルを再構築しなければならないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

開発中ならDBもマイグレーションファイルも直接書き換えていい。
本番環境へのデプロイ時のmigrateで正しい結果にさえなればいい。
だからファイルの修正も必要。テストでも使う。

すでに本番へ反映済の状態で変更したい場合はカラム名を変更する新しいマイグレーションファイル作ったほうがいいけど
これも一人だけで作ってるなら別に直接変更でもいい。

マイグレーションファイルと実際のDBが完全に一致していれば途中はあまり重要じゃない。

投稿2019/06/20 16:05

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

pypmyadminで変更するなら書き換えは不要だし書き換えないのでrefreshもいらない

投稿2019/06/20 15:13

hentaiman

総合スコア6415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toll_tree

2019/06/20 15:23

ご回答どもです! そうなんですね。migrationファイルの方も変更しなきゃダメなのかなと思っていました。
hentaiman

2019/06/20 15:26

migrationはDBの管理をlaravelに任せるためのものなので、phpmyadminで直接DBを操作するならmigrationファイル自体がいらない 逆に言うとmigrationファイルにDBの管理を任せたいならphpmyadminなどでDBの定義を変更してはいけない
toll_tree

2019/06/20 15:33

あーなるほど。ちょっとどっちつかずになってしまってるんで、laravelの勉強してますし、migrationファイルに管理を任せる方向でいきたいと思います。
hentaiman

2019/06/20 17:25

ある程度のDBの知識が無いとlaravelのmigrationは使えないというかつまずいた時に一切対処出来ないと思うんで、laravelの勉強もphpの勉強も一旦置いといて一カ月ぐらいDBの勉強した方がいいんじゃないですかね。 それが済んだ後にlaravelの勉強したらきっとlaravelマニュアルに書いてあるalterのために新たにmigrationファイルを作るってことの意味も分かると思うんですが
toll_tree

2019/06/20 17:42

そうですね... DBの勉強も考えていかねばですね...
hentaiman

2019/06/22 10:35

それはどうでしょうね。あれこれ知りたがるtoll_treeさんの性格を考慮して1カ月のDB学習を勧めたり、php+smartyのみでの学習を勧めてはいますが。 質問文のような疑問を感じても詳しい事は気にせず、とにかくmigrationファイルだけでDB管理を進めて、エラーになった時はmigrationを見直してエラーが出ないようにする、それでもダメならrefreshしてやり直すというやり方を徹底して貫けるならDBの学習はかなり浅くてもとりあえず問題無い、その理由は先述の通りLaravelが代わりにやってくれるから。 SQLの正しい書き方を知らなくてもLaravelのやり方通りにするだけでテーブル作成も変更もデータの投入も取得もなんとなくで全て出来ることがLaravelの長所です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問