Rails アプリケーションを MySQL で作成したいと考えています。デフォルトの SQLite ではなく、最新バージョンの Rails でこれを行うにはどうすればよいですか?
19 に答える
通常、新しい Rails アプリを作成するには、
rails ProjectName
MySQL を使用するには、
rails new ProjectName -d mysql
Rails プロジェクトが既にある場合は、config/database.yml
ファイル内のアダプターを次のように変更しmysql
、有効なユーザー名とパスワード、およびオプションでソケットを指定していることを確認してください。
development:
adapter: mysql2
database: db_name_dev
username: koploper
password:
host: localhost
socket: /tmp/mysql.sock
次に、Gemfile を編集して、mysql2 または activerecord-jdbcmysql-adapter (jruby を使用している場合) を含めます。
Rails 3 では、このコマンドを使用して、mysql を使用して新しいプロジェクトを作成できます。
$ rails new projectname -d mysql
ターミナルに移動して、次のように記述します。
rails new <project_name> -d mysql
アプリをまだ作成していない場合は、cmd (Windows の場合) またはターミナル (Linux/Unix の場合) に移動し、次のコマンドを入力して mysql データベースを使用する Rails アプリケーションを作成します。
$rails new <your_app_name> -d mysql
これは Rails バージョン 3 以降で動作します。すでにアプリを作成している場合は、次の 2 つのいずれかを実行できます。
- mysql データベースでanother_nameアプリを作成し、 cd another_name /config/ に移動して、この新しいアプリから database.yml ファイルをコピーします。your_app_nameアプリの database.yml に貼り付けます。ただし、データベース名を変更し、それに応じて database.yml ファイルでデータベースのユーザー名/パスワードを設定してください。
また
- cd your_app_name /config/ に移動し、database.yml を開きます。次のように名前を変更します。
開発:
アダプター: mysql2
データベース: db_name_name
ユーザー名: root
パスワード:
ホスト: localhost
ソケット: /tmp/mysql.sock
さらに、Gemfile から gem 'sqlite3' を削除し、gem 'mysql2' を追加します。
Rails 3 以上のバージョンを使用している場合
rails new your_project_name -d mysql
以前のバージョンをお持ちの場合
rails new -d mysql your_project_name
したがって、プロジェクトを作成する前に、Rails のバージョンを見つける必要があります。あなたが見つけることができる
rails -v
rails -d mysql ProjectName
-d オプションでアプリケーションを作成
rails new AppName -d mysql
rails new <project_name> -d mysql
また
rails new projectname
config/database.yml の変更
development:
adapter: mysql2
database: db_name_name
username: root
password:
host: localhost
socket: /tmp/mysql.sock
-dの代わりにスイッチ-Dを使用する必要があります。これは、ドキュメントフォルダーなしで2つのアプリとmysqlを生成するためです。
rails -D mysql project_name (less than version 3)
rails new project_name -D mysql (version 3 and up)
または、オプションを使用することも--database
できます。
$ rails --help
いつもあなたの親友です
利用方法:
$ rails new APP_PATH[options]
また、アプリケーション名の後にオプションを指定する必要があることに注意してください
レールとmysql
$ rails new project_name -d mysql
レールとpostgresql
$ rails new project_name -d postgresql
Rails 3では、次のことができます
$rails new projectname --database=mysql
新しい Rails アプリケーションを作成している場合は、次のように -d スイッチを使用してデータベースを設定できます。
rails -d mysql myapp
ただし、後でデータベースを切り替えるのはいつでも簡単です。また、Mac で開発している場合は、sqlite を使用する方が本当に簡単です。
新しいプロジェクトでは、簡単に:
rails new your_new_project_name -d mysql
既存のプロジェクトでは、間違いなくトリッキーです。これにより、既存の Rails プロジェクトに関する多くの問題が発生しました。この種の作品は私と一緒です:
# On Gemfile:
gem 'mysql2', '>= 0.3.18', '< 0.5' # copied from a new project for rails 5.1 :)
gem 'activerecord-mysql-adapter' # needed for mysql..
# On Dockerfile or on CLI:
sudo apt-get install -y mysql-client libmysqlclient-dev
インストールされていない場合は、最初に mysql gem がインストールされていることを確認してください。コンソールに次のコマンドを入力するよりも
gem install mysql2
コンソールで次のコマンドを入力して、新しい Rails アプリを作成し、mysql データベースをデフォルト データベースとして設定するよりも
rails new app-name -d mysql