現在、CRUDを学ぶべくTODOアプリを作成していたのですが
以前、Railsを学習したときに
rails new アプリ名 _6.0.0_ -d mysql
このコマンドを打った事を思い出しました。
しかし、色々な記事や動画、リファレンスを見ていると
rails new アプリ名
これだけでも雛形が作成できると書いてあります。
rails new
したら何が起きているかというと
-
新しいアプリケーションの「土台」が作成される:
新しいアプリケーションのための基本的なファイルやフォルダが自動的に作成されます。これは、家を建てる時にまず土台を作るようなものです。アプリの土台ができることで、開発を始める準備が整います。
-
必要なファイルの自動生成:
アプリケーションを開発する際に必要となる多くのファイルが自動的に生成されます。これには、アプリの設定ファイル、初期の画面を表示するためのファイルなどが含まれます。この自動生成機能により、開発者は一から全てを作り出す手間を省けます。
-
開発に必要な「ツール」の設定:
このコマンドは、アプリ開発に必要な様々なツールやライブラリ(アプリを作る際に使う便利な機能や部品の集まり)の設定も自動的に行います。これにより、開発者はアプリの機能を追加するための準備が整います。
-
カスタマイズの準備:
生成されたファイルは基本的な形が整っていますが、開発者はこれを自分のアプリに合わせてカスタマイズ(変更や追加)を行います。例えば、新しい機能を追加したり、アプリの見た目を変更したりすることができます。
うんうん、なんかとりあえず **rails new**
すれば簡単にアプリの雛形が作成されるんだな😅
先日フレームワークを使用せずにアプリを作成してみた私はフレームワークってありがたすぎる事に気づきます。
rails new
ってすごい!ありがとうRails!(語彙力)
じゃあ、rails new アプリ名
だけで雛形が作成されるとしたら、バージョンやDBはどうなっているんだろう?
-
Railsバージョン: システムにインストールされている最新のRailsバージョンを使用してアプリケーションを作成される。特定のバージョンを使用したい場合は、
rails _バージョン_ new my_todo_app
のようにコマンドを指定する必要がある。
-
データベース: RailsはデフォルトでSQLiteをデータベースとして使用される。これは、軽量で設定が簡単なため、開発初期段階や小規模アプリケーションに適しているため。もし別のデータベース(例えばPostgreSQLやMySQL)を使用したい場合は、アプリケーション作成時に
-d postgresql
や-d mysql
のようにオプションを付けて指定する必要がある。
なるほど!!!
rails new アプリ名 _6.0.0_ -d mysql
バージョンとDBを指定して、アプリを作成してたってわけか!
上記のコマンドの -d
はデータベースの種類を指定するものです。具体的には、このオプションを使うことで、新しく作成するRailsアプリケーションがどのデータベースシステムを使うかを選べます。
再度の説明になりますが、デフォルトは SQLite
です!
指定せずにアプリを作ってしまった!そんな時は
-
既存のアプリケーションフォルダを削除する:
最初に作成したアプリケーションのフォルダを削除する。これにより、同じ名前で新しいアプリケーションを作成する際に名前の衝突を避けることができる。コマンドラインでアプリケーションのフォルダに移動し、削除コマンド(例えばLinuxやMacではrm -rf フォルダ名
)を使ってフォルダを削除する。
rm -rf フォルダ名
-rfオプションは非常に強力で、復元不可能な削除を行うため、間違ったディレクトリやファイルを指定しないように注意が必要です!気をつけて!rm -rfについて
-
新しいコマンドでアプリケーションを作成する:
正しいバージョンとデータベースオプションを指定して、rails new
コマンドを再度実行する。例えば、rails _6.0.0_ new アプリ名 -d mysql
。これにより、指定したバージョンのRailsとMySQLデータベースを使用する新しいアプリケーションが作成される。
-
必要な設定を行う:
新しく作成されたアプリケーションでは、必要に応じてデータベース設定(config/database.yml
)を確認し、必要な変更を加える。また、他の設定や依存関係も適宜更新することが必要。
-
以前の作業を移行する:
もし、間違って作成したアプリケーションで既に作業を進めていた場合、必要なファイルやコードを新しいアプリケーションにコピーすることができる。ただし、依存関係や設定ファイルに注意しながら行う。
これでアプリを作る時もちょっと安心して作成できますね!
一度で覚えられる人はなかなかいないと思うので繰り返し学習する、なぜ?を大事にするという事を学びました。