DESABILITAR ADBLOCK

ADBlock está bloqueando algum conteúdo do site

ADBlock errore

Criar uma nova aplicação Ruby on Rails usando o MySQL em vez do SQLite

StackOverflow https://stackoverflow.com/questions/3585

Pergunta

Eu quero criar a minha aplicação Rails com o MySQL, porque eu gosto tanto. Como posso fazer isso na última versão do Rails em vez do padrão SQLite?

Solução

Se você já tem um trilhos projeto, alterar o adaptador no arquivo config/database.yml para mysql e certifique-se de especificar um nome de usuário e senha válidos, e, opcionalmente, um soquete:

development:
  adapter: mysql2
  database: db_name_dev
  username: koploper
  password:
  host: localhost
  socket: /tmp/mysql.sock

Em seguida, certifique-se de editar o seu Gemfile para incluir o mysql2 ou activerecord-jdbcmysql-adaptador (se estiver usando jruby).

OUTRAS DICAS

Normalmente, você poderia criar uma nova aplicação Rails usando

rails ProjectName

Para usar MySQL, uso

rails new ProjectName -d mysql

Para Rails 3 você pode usar este comando para criar um novo projeto usando mysql:

$ rails new projectname -d mysql

Vá para a gravação terminal e:

rails new <project_name> -d mysql

Se você não tiver criado seu aplicativo, no entanto, basta ir ao cmd (para Windows) ou terminal (para Linux / Unix) e digite o seguinte comando para criar uma aplicação Rails com banco de dados mysql:

$rails new <your_app_name> -d mysql

Ele funciona para qualquer coisa acima de trilhos versão 3. Se você já tiver criado seu aplicativo, em seguida, você pode fazer uma das 2 seguintes coisas:

  1. Criar um another_name aplicativo com banco de dados mysql, vá para o cd another_name / config / e copie o arquivo database.yml deste novo aplicativo. Colá-lo no database.yml de your_app_name aplicativo. Mas garantir para alterar os nomes de banco de dados e conjunto de nome de usuário / senha do seu banco de dados de conformidade no arquivo database.yml após fazê-lo.

ou

  1. Vá para cd your_app_name / config / e aberto database.yml. Mudar o nome da seguinte forma:

desenvolvimento:
adaptador: mysql2
banco de dados: db_name_name
nome de usuário: root
password:
host: localhost
socket: /tmp/mysql.sock

Além disso, remove gem 'sqlite3' do seu Gemfile e adicione a gema 'mysql2'

Se você estiver usando rails 3 ou superior versão

rails new your_project_name -d mysql

Se você tem versão anterior

rails new -d mysql your_project_name

Portanto, antes de criar seu projeto, você precisa encontrar a versão do Rails. que você pode encontrar por

rails -v

rails -d mysql ProjectName

rails new <project_name> -d mysql

ou

rails new projectname

Alterações no config / database.yml

development:
  adapter: mysql2
  database: db_name_name
  username: root
  password:
  host: localhost
  socket: /tmp/mysql.sock

Criar aplicativo com a opção -d

rails new AppName -d mysql

$ rails --help 

é sempre seu melhor amigo

uso:

$ rails new APP_PATH[options]

Observe também que opções devem ser dado após o nome do aplicativo

trilhos e mysql

$ rails new project_name -d mysql

trilhos e PostgreSQL

$ rails new project_name -d postgresql

Você deve usar o -D interruptor em vez de -d porque vai gerar dois aplicativos e mysql sem pastas de documentação.

  rails -D mysql project_name  (less than version 3)

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

Como alternativa, você só usar a opção --database.

Basta ir ao console de trilhos e digite:

rails new YOURAPPNAME -d mysql

Em Rails 3, você poderia fazer

$rails new projectname --database=mysql

Se você estiver criando uma nova aplicação Rails você pode definir o banco de dados usando a opção -d assim:

rails -d mysql myapp

É sempre fácil mudar seu banco de dados mais tarde, porém, e usando sqlite realmente é mais fácil se você estiver desenvolvendo em um Mac.

No novo projeto, fácil tapear:

rails new your_new_project_name -d mysql

No projeto existente, definitivamente mais complicado. Isso me deu uma série de questões em projetos trilhos existentes. Este tipo de trabalhos com me:

# 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 

Primeiro certifique-se de que gem mysql está instalado, se não for? que tipo de comando a seguir no seu console

gem install mysql2

do que criar novos trilhos aplicativo e banco de dados mysql set como banco de dados padrão de digitação seguinte comando em seu console

rails new app-name -d mysql

comando Use seguinte para criar novo aplicativo para API com banco de dados mysql

rails new <appname> --api -d mysql


  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: 
  socket: /var/run/mysqld/mysqld.sock

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'

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow