I want to create my Rails application with MySQL, because I like it so much. How can I do that in the latest version of Rails instead of the default SQLite?
Create a new Ruby on Rails application using MySQL instead of SQLite
If you have not created your app yet, just go to cmd(for windows) or terminal(for linux/unix) and type the following command to create a rails application with mysql database:
$rails new <your_app_name> -d mysql
It works for anything above rails version 3. If you have already created your app, then you can do one of the 2 following things:
- Create a another_name app with mysql database, go to cd another_name/config/ and copy the database.yml file from this new app. Paste it into the database.yml of your_app_name app. But ensure to change the database names and set username/password of your database accordingly in the database.yml file after doing so.
- Go to cd your_app_name/config/ and open database.yml. Rename as following:
Moreover, remove gem 'sqlite3' from your Gemfile and add the gem 'mysql2'
If you already have a rails project, change the adapter in the
config/database.yml file to
mysql and make sure you specify a valid username and password, and optionally, a socket:
development: adapter: mysql2 database: db_name_dev username: koploper password: host: localhost socket: /tmp/mysql.sock
Next, make sure you edit your Gemfile to include the mysql2 or activerecord-jdbcmysql-adapter (if using jruby).
Go to the terminal and write:
rails new <project_name> -d mysql