Создайте новое приложение Ruby on Rails, используя MySQL вместо SQLite - PullRequest
121 голосов
/ 06 августа 2008

Я хочу создать свое Rails-приложение с MySQL, потому что оно мне очень нравится. Как я могу сделать это в последней версии Rails вместо SQLite по умолчанию?

Ответы [ 18 ]

7 голосов
/ 29 марта 2012

Вы должны использовать ключ -D вместо -d, потому что он сгенерирует два приложения и mysql без папок с документацией.

  rails -D mysql project_name  (less than version 3)

  rails new project_name -D mysql (version 3 and up)

В качестве альтернативы вы просто используете опцию --database.

6 голосов
/ 15 февраля 2017

Просто зайдите в консоль rails и наберите:

rails new YOURAPPNAME -d mysql
5 голосов
/ 18 мая 2011

В Rails 3 вы можете сделать

$rails new projectname --database=mysql
5 голосов
/ 06 августа 2008

Если вы создаете новое приложение rails, вы можете установить базу данных с помощью ключа -d следующим образом:

rails -d mysql myapp

Впоследствии всегда легко переключать вашу базу данных, а использовать sqlite действительно проще, если вы разрабатываете на Mac.

3 голосов
/ 09 февраля 2018

На новый проект, легкий peasy:

rails new your_new_project_name -d mysql

В существующем проекте определенно сложнее. Это дало мне ряд вопросов о существующих проектах рельсов. Этот вид работает со мной:

# 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 
1 голос
/ 20 сентября 2017

Сначала убедитесь, что mysql gem установлен, если нет? чем набрать следующую команду в вашей консоли

gem install mysql2

Чем создать новое приложение rails и установить базу данных mysql в качестве базы данных по умолчанию, введя в консоли следующую команду

rails new app-name -d mysql
0 голосов
/ 22 февраля 2019

database.yml

# MySQL. Versions 5.1.10 and up are supported.
#
# Install the MySQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html
#
default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  host: localhost
  database: database_name
  username: username
  password: secret

development:
  <<: *default

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default

# As with config/secrets.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
#
# Instead, provide the password as a unix environment variable when you boot
# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
# for a full rundown on how to provide these environment variables in a
# production deployment.
#
# On Heroku and other platform providers, you may have a full connection URL
# available as an environment variable. For example:
#
#   DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
#
# You can use this database configuration with:
#
#   production:
#     url: <%= ENV['DATABASE_URL'] %>
#
production:
  <<: *default

Gemfile

# Use mysql as the database for Active Record
gem 'mysql2', '>= 0.4.4', '< 0.6.0'
0 голосов
/ 01 сентября 2018

Используйте следующую команду для создания нового приложения для API с базой данных mysql

rails new <appname> --api -d mysql


  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: 
  socket: /var/run/mysqld/mysqld.sock
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...