Vă mulțumim pentru susținere

Creați o nouă aplicație Ruby on Rails utilizând MySQL în loc de SQLite

Vreau să creez aplicația Rails cu MySQL, pentru că îmi place atât de mult. Cum pot face asta în ultima versiune de Rails în loc de SQLite implicit?

0
adăugat editat
Vizualizări: 1

16 răspunsuri

Dacă aveți deja un proiect de șine, schimbați adaptorul din fișierul config / database.yml la MySQL și asigurați-vă că specificați un nume de utilizator și o parolă validă priză:

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

Apoi, asigurați-vă că modificați fișierul Gem pentru a include mysql2 sau activrecord-jdbcmysql-adapter (dacă utilizați jruby).

0
adăugat
Acest lucru este util; deoarece celelalte răspunsuri folosesc doar generatorul. Acest răspuns lucrează pentru adăugarea MySQL la o aplicație după ce a fost deja creată, fie pentru a înlocui un DB existent (de ex. SQLite), fie pentru a adăuga o bază de date secundară. De asemenea, mysql2 pare a fi gem-ul pentru aceste zile pentru Rails.
adăugat autor rcd
va trebui, de asemenea, să actualizați Gemfile; eliminați gem 'sqlite3' și adăugați gem "mysql2"
adăugat autor RGB

În mod normal, ați crea o nouă aplicație Rails utilizând

rails ProjectName

Pentru a utiliza MySQL, utilizați

rails new ProjectName -d mysql
0
adăugat

Dacă creați o nouă aplicație pentru șine, puteți seta baza de date utilizând comutatorul -d astfel:

rails -d MySQL myapp

Este întotdeauna ușor să vă schimbați baza de date mai târziu, totuși, și folosind sqlite este cu adevărat mai ușor dacă dezvoltați pe un Mac.

0
adăugat

Dacă utilizați versiunea 3 sau o versiune mai mare

rails new your_project_name -d mysql

dacă aveți o versiune anterioară

rails new -d MySQL your_project_name

Deci, înainte de a vă crea proiectul, trebuie să găsiți versiunea șinelor. pe care îl puteți găsi

rails -v
0
adăugat
rails -d MySQL ProjectName
0
adăugat

Ror șine 3 utilizare

$rails new projectname -d mysql
0
adăugat

În Rails 3, puteți face

$rails new projectname --database=mysql
0
adăugat
$ rails --help 

este întotdeauna cel mai bun prieten al tău

utilizare:

$ rails new APP_PATH[options]

De asemenea, rețineți că opțiunile ar trebui să fie furnizate după numele aplicației

șine și mysql

$ rails new project_name -d mysql

rails și postgresql

$ rails new project_name -d postgresql
0
adăugat

Ar trebui să utilizați comutatorul -D în loc de -d deoarece va genera două aplicații și MySQL fără dosare de documentație.

  rails -D MySQL project_name  (less than version 3)

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

Alternativ, puteți folosi opțiunea - database .

0
adăugat
rails new  -d mysql

SAU

rails new projectname

Schimbări în config / database.yml

development:
  adapter: mysql2
  database: db_name_name
  username: root
  passwSAUd:
  host: localhost
  socket: /tmp/mysql.sock
0
adăugat

Mergeți la terminal și scrieți:

rails new  -d mysql
0
adăugat

Creați aplicație cu opțiunea -d

rails new AppName -d mysql
0
adăugat
A lucrat perfect pentru mine!
adăugat autor Luke

Dacă nu ați creat încă aplicația, mergeți doar la cmd (pentru ferestre) sau terminal (pentru linux / unix) și tastați următoarea comandă pentru a crea o aplicație pentru șine cu baza de date mysql:

$rails new -d mysql

Funcționează pentru SAUice versiune de mai sus versiunea 3. Dacă ați creat deja aplicația dvs., puteți face unul dintre următoarele două lucruri:

  1. Creați o aplicație another_name cu baza de date mysql, accesați cd another_name / config / și copiați fișierul database.yml din această aplicație nouă. Inserați-l în baza de date.yml a aplicației your_app_name . Dar asigurați-vă că modificați numele bazei de date și setați numele de utilizatSAU / parola din baza de date în mod cSAUespunzătSAU în fișierul database.yml după ce faceți acest lucru.

SAU

  1. Mergeți la cd your_app_name / config / și deschideți database.yml. Redenumiți după cum urmează:

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

MSAUeover, remove gem 'sqlite3' from your Gemfile and add the gem 'mysql2'

0
adăugat

Mergeți la consola șinelor și tastați:

rails new YOURAPPNAME -d mysql
0
adăugat

Mai întâi asigurați-vă că este instalat gem mysql, dacă nu? decât tipul care urmează comandă în consola dvs.

gem install mysql2

Apoi creați o nouă aplicație pentru șine și setați baza de date MySQL ca bază de date implicită introducând următoarea comandă în consola dvs.

rails new app-name -d mysql
0
adăugat
doriți să adăugați bijuteria în Gemfile.
adăugat autor Riccardo

Pe noul proiect, ușor peasy:

rails new your_new_project_name -d mysql

Pe proiectul existent, cu siguranță mai complicat. Acest lucru mi-a dat o serie de probleme privind proiectele existente pe șine. Acest tip de lucrări cu mine:

# 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 
0
adăugat