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

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

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

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

4回答

1430閲覧

データベースの構築や保守のフレームワーク機能 VS SQL文

behoimi80

総合スコア62

Laravel

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2021/04/23 01:44

編集2021/04/23 02:41

Laravel勉強中です。

ある会社のバックエンド(API)をLaravelで製造しており、データベースのテーブル追加はSQL文(create)を行っていました。

勉強中の身で「database」フォルダーで管理しないのか、migrationコマンド使わないの?と疑問に持ちました。聞いたら初期構築がこの状態だったからずっとこのままとの事。

べつに動くし、SQL文も抵抗ないので私的には良いのですが、フレームワークをせっかく使っているのに・・・。とモヤモヤしています。

そこで質問です。
Laravelを使ったAPIの構築は普通migrationコマンドを使わないものなのでしょうか?
また、migrationコマンドとSQL文を比較してメリット・デメリットなども教えて頂けないでしょうか?

私が思うのは共同作業をした際にDBを変更した人からSQL文をもらう作業がdatabase/factoriesのphpファイルをgit pullするだけ良いとか、SQL文よりテーブルのカラム追加削除が楽なのではないかなど思っているのですがあくまで想像です。

変な質問で申し訳ないのですが、詳しい方教えて頂けないでしょうか?よろしくお願いいたします。

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

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

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

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

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

m.ts10806

2021/04/23 02:06

databese? database? 実態はどっちですか?
behoimi80

2021/04/23 02:42

申し訳ございません。API・databaseに修正しました。
guest

回答4

0

世の中にはLaravelのことなんか全く知らずに業務で利用してる人が思ってる以上に多い。
主な原因は他のフレームワークを使ってきた知識だけでLaravelを使ってるから。

CakePHP2には標準のマイグレーション機能がなく別途プラグインが必要。
使ってなかった人はマイグレーションそのものを知らない。

日本ではCakeが主流な時代が長かったのでCake1や2とPHP5.3レベルの知識のまま
学習し直すことなくLaravelを使い始めて信じられないような意味不明な使い方してる人が多い。

Laravelでは常識なことも他のフレームワークでは全く常識ではなかった。
古い知識を全部捨てて覚え直してLaravelを使えばよかったけど普通の人にはこれが一番難しいらしい。

PHPでは他を飛ばしてLaravelから使い始めた人のほうがまともに開発できてる、が現実。

投稿2021/04/23 02:33

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

behoimi80

2021/04/23 02:47

おぉ。そのような現象が世の中起きているのですね。教えて頂きありがとうございます。
guest

0

Laravelを使ったAPIの構築は普通migrationコマンドを使わないものなのでしょうか?

データベースだけ先にあって、後からLaravelに入れ替えたような状態だと、後付でマイグレーション管理に乗り換えるのは困難かもしれません。

投稿2021/04/23 01:50

maisumakun

総合スコア146018

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

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

behoimi80

2021/04/23 02:52

そのような考え方もできますね。ありがとうございました。
guest

0

私が思うのは共同作業をした際にDBを変更した人からSQL文をもらう作業がdatabase/factoriesのphpファイルをgit pullするだけ良いとか、SQL文よりテーブルのカラム追加削除が楽なのではないかなど思っているのですがあくまで想像です。

その通りです

使っていない理由は

  1. 今回しかLaravelを使う気が無く、Laravelに依存したマイグレーションを避けたい
  2. 新たにその機能を覚えるのが面倒臭そう
  3. Laravel4の時の印象が残っており使えない機能だと思い込んでいる
  4. 試したが実用に耐えないと判断した
  5. マイグレーションでは書けない定義を作りたく、Laravelに従うとALTER連発しないいけないので二度手間だった

など考えられますが、2番が濃厚です

投稿2021/04/23 06:32

hentaiman

総合スコア6426

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

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

0

ベストアンサー

なんとなくですが、その機能を知らずに始めてしまって、途中からこの手順を組み込むのが面倒とか、そういう理由だったりするんですかね。あとはmigrationは破壊的な動作をする場合もありますので、そういう状況が発生しないようにあえてそうしてるとか。メリットは多くありますが、デメリットはあまりパッと思いつかないですね。

投稿2021/04/23 01:57

AbeTakashi

総合スコア4853

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

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

behoimi80

2021/04/23 02:51

プログラムもハードコーディングが多かったりと慣れてない方が作られたのかなと思っています。私も勉強中なので人の事は言えませんが。もしよければ思いつくメリットを教えて頂けないでしょうか。
AbeTakashi

2021/04/23 04:14 編集

メリットといえば.envで環境を吸収してくれたり、コミットで管理すれば変更の履歴も追えるし、なによりちゃんとmigrationを書けばロールバックが簡単というのがあると思います。ただ、ロールバックは諸刃の剣で、破壊的操作になる場合もあります。あと、ちゃんとロールバックの処理をちゃんと書くのが意外と難しくて、下手するとロールバックしたしないで差異が生じたりとかもあると思います。これを嫌う人がいてもおかしくはありません。
behoimi80

2021/04/23 04:11

そうなんですね!勉強になります。気を付けます。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問