Je veux créer mon application Rails avec MySQL, car je l’aime tellement. Comment puis-je le faire dans la dernière version de Rails au lieu de SQLite par défaut?
Si vous avez déjà un projet rails, changez la carte du fichier config/database.yml
en mysql
et assurez-vous de spécifier un nom d’utilisateur et un mot de passe valides, et éventuellement un socket:
development: adapter: mysql2 database: db_name_dev username: koploper password: host: localhost socket: /tmp/mysql.sock
Ensuite, assurez-vous d’éditer votre fichier Gemfile pour inclure l’adaptateur mysql2 ou activerecord-jdbcmysql (si vous utilisez jruby).
Normalement, vous créez une nouvelle application Rails en utilisant
rails ProjectName
Pour utiliser MySQL, utilisez
rails new ProjectName -d mysql
Ror rails 3 utilisation
$rails new projectname -d mysql
Allez au terminal et écrivez:
rails new -d mysql
Si vous n’avez pas encore créé votre application, allez simplement sur cmd (pour windows) ou terminal (pour linux / unix) et tapez la commande suivante pour créer une application rails avec la firebase database mysql:
$rails new
Cela fonctionne pour n’importe quoi au-dessus de la version des rails 3. Si vous avez déjà créé votre application, vous pouvez faire l’une des 2 choses suivantes:
OU
développement:
adaptateur: mysql2
firebase database: nom_bd_base
nom d’utilisateur: root
mot de passe:
hôte: localhost
socket: /tmp/mysql.sock
En outre, retirez gem ‘sqlite3’ de votre Gemfile et ajoutez le gem ‘mysql2’
Si vous utilisez des rails 3 ou une version supérieure
rails new your_project_name -d mysql
si vous avez une version antérieure
rails new -d mysql your_project_name
Donc, avant de créer votre projet, vous devez trouver la version des rails. que vous pouvez trouver par
rails -v
rails -d mysql ProjectName
rails new -d mysql
OU
rails new projectname
Changements dans config / database.yml
development: adapter: mysql2 database: db_name_name username: root password: host: localhost socket: /tmp/mysql.sock
Créer une application avec l’option -d
rails new AppName -d mysql
$ rails --help
est toujours ton meilleur ami
usage:
$ rails new APP_PATH[options]
notez également que les options doivent être données après le nom de l’application
rails et mysql
$ rails new project_name -d mysql
rails et postgresql
$ rails new project_name -d postgresql
Vous devez utiliser le commutateur -D au lieu de -d car il générera deux applications et mysql sans dossiers de documentation.
rails -D mysql project_name (less than version 3) rails new project_name -D mysql (version 3 and up)
Vous pouvez également utiliser l’option --database
.
Allez simplement sur la console des rails et tapez:
rails new YOURAPPNAME -d mysql
Si vous créez une nouvelle application de rails, vous pouvez définir la firebase database en utilisant le commutateur -d comme ceci:
rails -d mysql myapp
Il est toujours facile de changer de firebase database ultérieurement, et utiliser sqlite est vraiment plus facile si vous développez sur un Mac.
Dans Rails 3, vous pourriez faire
$rails new projectname --database=mysql
Sur nouveau projet, facile à faire:
rails new your_new_project_name -d mysql
Sur un projet existant, certainement plus difficile. Cela m’a donné un certain nombre de problèmes sur les projets de rails existants. Ce genre de travail avec moi:
# 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
Assurez-vous d’abord que mysql gem est installé, sinon? que de taper la commande suivante dans votre console
gem install mysql2
Que créer une nouvelle application de rails et définir la firebase database mysql comme firebase database par défaut en tapant la commande suivante dans votre console
rails new app-name -d mysql
Utilisez la commande suivante pour créer une nouvelle application pour API avec la firebase database mysql
rails new --api -d mysql adapter: mysql2 encoding: utf8 pool: 5 username: root password: socket: /var/run/mysqld/mysqld.sock