ОТКЛЮЧИТЬ АДБЛОК

ADBlock блокирует некоторый контент на сайте

ADBlock errore

Создайте новое приложение Ruby on Rails, используя MySQL вместо SQLite

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

вопрос

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

Решение

Если у вас уже есть проект 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, используя

rails ProjectName

Чтобы использовать MySQL, используйте

rails new ProjectName -d mysql

Для Rails 3 вы можете использовать эту команду для создания нового проекта с использованием mysql:

$ rails new projectname -d mysql

Подойдите к терминалу и напишите:

rails new <project_name> -d mysql

Если вы еще не создали свое приложение, просто перейдите в cmd (для windows) или терминал (для linux / unix) и введите следующую команду, чтобы создать приложение rails с базой данных mysql:

<Р> $rails new <your_app_name> -d mysql

Это работает для всего, что выше rails версии 3. Если вы уже создали свое приложение, вы можете сделать одно из 2 следующих действий:

<Ол>
  • Создайте приложение another_name с базой данных mysql, перейдите в cd another_name / config / и скопируйте файл database.yml из этого нового приложения. Вставьте его в файл database.yml приложения your_app_name . Но убедитесь, что вы изменили имена баз данных и соответственно задали имя пользователя и пароль вашей базы данных в файле database.yml.
  • <Р> ИЛИ <Ол>
  • Перейдите в cd your_app_name / config / и откройте файл database.yml. Переименуйте следующим образом:
  • <Р> развитие:
      адаптер: mysql2
      база данных: db_name_name
      имя пользователя: root
      Пароль:
      хост: localhost
      сокет: /tmp/mysql.sock

    Кроме того, удалите gem 'sqlite3' из вашего Gemfile и добавьте gem 'mysql2'

    Если вы используете рельсы 3 или более поздней версии

    rails new your_project_name -d mysql
    

    если у вас более ранняя версия

    rails new -d mysql your_project_name
    

    Итак, прежде чем создавать свой проект, вам нужно найти версию rails. что вы можете найти с помощью

    rails -v
    

    rails -d mysql ProjectName
    

    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

    rails new AppName -d mysql
    

    $ rails --help 
    

    всегда твой лучший друг

    <Р> использование:

    $ rails new APP_PATH[options]
    

    также обратите внимание, что параметры следует указывать после имени приложения

    Рельсы и MySQL

    $ rails new project_name -d mysql
    

    рельсы и postgresql

    $ rails new project_name -d postgresql
    

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

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

    Либо вы просто используете опцию --database.

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

    rails new YOURAPPNAME -d mysql
    

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

    $rails new projectname --database=mysql
    

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

    rails -d mysql myapp
    

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

    В новом проекте просто 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 
    

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

    gem install mysql2
    

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

    rails new app-name -d mysql
    

    Используйте следующую команду для создания нового приложения для API с базой данных 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