SQLite के बजाय MySQL का उपयोग कर रेल एप्लिकेशन पर एक नया रूबी बनाएं

मैं MySQL के साथ अपना रेल एप्लिकेशन बनाना चाहता हूं, क्योंकि मुझे यह बहुत पसंद है। डिफ़ॉल्ट SQLite के बजाय रेल के नवीनतम संस्करण में मैं इसे कैसे कर सकता हूं?

0
जोड़ा संपादित
विचारों: 1

16 उत्तर

यदि आपके पास पहले से रेल प्रोजेक्ट है, तो एडाप्टर को config / database.yml फ़ाइल में MySQL में बदलें और सुनिश्चित करें कि आप एक वैध उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करते हैं, और वैकल्पिक रूप से, सॉकेट:

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

इसके बाद, सुनिश्चित करें कि आप mysql2 या activerecord-jdbcmysql-adapter (jruby का उपयोग करते हुए) को शामिल करने के लिए अपने Gemfile को संपादित करें।

0
जोड़ा
यह सहायक है; क्योंकि अन्य उत्तर जनरेटर का उपयोग करते हैं। यह उत्तर किसी भी ऐप को पहले से ही बनाए जाने के बाद MySQL को जोड़ने के लिए काम करता है, या तो मौजूदा (उदा। SQLite) डीबी को प्रतिस्थापित करने के लिए या द्वितीयक डेटाबेस जोड़ने के लिए। इसके अलावा, mysql2 रेल के लिए इन दिनों जाने-माने मणि प्रतीत होता है।
जोड़ा लेखक rcd, स्रोत
आपको Gemfile को भी अपडेट करना होगा; gem 'sqlite3' को हटाएं और मणि 'mysql2' जोड़ें
जोड़ा लेखक RGB, स्रोत

आम तौर पर, आप एक नया रेल ऐप बनाते हैं

rails ProjectName

MySQL का उपयोग करने के लिए, उपयोग करें

rails new ProjectName -d mysql
0
जोड़ा

यदि आप एक नया रेल एप्लिकेशन बना रहे हैं तो आप इस तरह डीडी स्विच का उपयोग कर डेटाबेस सेट कर सकते हैं:

rails -d MySQL myapp

हालांकि, बाद में अपने डेटाबेस को स्विच करना हमेशा आसान होता है, और यदि आप मैक पर विकास कर रहे हैं तो स्क्लाइट का उपयोग करना वास्तव में आसान है।

0
जोड़ा

यदि आप रेल 3 या अधिक संस्करण का उपयोग कर रहे हैं

rails new your_project_name -d mysql

यदि आपके पास पहले संस्करण है

rails new -d MySQL your_project_name

तो इससे पहले कि आप अपनी परियोजना बनाएं, आपको रेल संस्करण ढूंढना होगा। आप द्वारा पा सकते हैं

rails -v
0
जोड़ा
rails -d MySQL ProjectName
0
जोड़ा

रोर रेल 3 उपयोग करता है

$rails new projectname -d mysql
0
जोड़ा

रेल 3 में, आप कर सकते हैं

$rails new projectname --database=mysql
0
जोड़ा
$ rails --help 

हमेशा आपका सबसे अच्छा दोस्त है

उपयोग:

$ rails new APP_PATH[options]

यह भी ध्यान रखें कि एप्लिकेशन नाम के बाद विकल्प दिए जाने चाहिए

रेल और MySQL

$ rails new project_name -d mysql

रेल और postgresql

$ rails new project_name -d postgresql
0
जोड़ा

आपको -d के बजाय स्विच-डी का उपयोग करना चाहिए क्योंकि यह दो ऐप्स और MySQL को कोई दस्तावेज़ फ़ोल्डर्स उत्पन्न नहीं करेगा।

  rails -D MySQL project_name  (less than version 3)

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

वैकल्पिक रूप से आप बस - डेटाबेस विकल्प का उपयोग करते हैं।

0
जोड़ा
rails new  -d mysql

या

rails new projectname

Config / database.yml में परिवर्तन

development:
  adapter: mysql2
  database: db_name_name
  username: root
  passwयाd:
  host: localhost
  socket: /tmp/mysql.sock
0
जोड़ा

टर्मिनल पर जाएं और लिखें:

rails new  -d mysql
0
जोड़ा

-d विकल्प के साथ आवेदन बनाएँ

rails new AppName -d mysql
0
जोड़ा
मेरे लिए पूरी तरह से काम किया!
जोड़ा लेखक Luke, स्रोत

यदि आपने अभी तक अपना ऐप नहीं बनाया है, तो बस cmd (विंडोज़ के लिए) या टर्मिनल (लिनक्स / यूनिक्स के लिए) पर जाएं और MySQL डेटाबेस के साथ रेल एप्लिकेशन बनाने के लिए निम्न आदेश टाइप करें:

$rails new -d mysql

यह रेल संस्करण 3 से ऊपर के लिए कुछ भी काम करता है। यदि आप पहले से ही अपना ऐप बना चुके हैं, तो आप निम्न 2 में से एक काम कर सकते हैं:

  1. MySQL डेटाबेस के साथ another_name ऐप बनाएं, cd another_name / config / पर जाएं और इस नए ऐप से डेटाबेस.इम्ल फ़ाइल कॉपी करें। your_app_name ऐप के डेटाबेस.इम्एल में इसे पेस्ट करें। लेकिन ऐसा करने के बाद डेटाबेस नामों को बदलने के लिए डेटाबेस नामों को बदलने और डेटाबेस के अनुसार उपयोगकर्ता नाम / पासवर्ड सेट करने के लिए सुनिश्चित करें।

या

  1. सीडी your_app_name / config / पर जाएं और डेटाबेस.आईएमएल खोलें। निम्न के रूप में नाम बदलें:

development:
adapter: mysql2
database: db_name_name
username: root
passwयाd:
host: localhost
socket: /tmp/mysql.sock

Mयाeover, remove gem 'sqlite3' from your Gemfile and add the gem 'mysql2'

0
जोड़ा

बस रेल कंसोल पर जाएं और टाइप करें:

rails new YOURAPPNAME -d mysql
0
जोड़ा

सबसे पहले सुनिश्चित करें कि MySQL मणि स्थापित है, अगर नहीं? अपने कंसोल में निम्न आदेश टाइप करने के बजाय

gem install mysql2

नए कंसोल ऐप बनाएं और MySQL डेटाबेस को अपने कंसोल में निम्न कमांड टाइप करके डिफ़ॉल्ट डेटाबेस के रूप में सेट करें

rails new app-name -d mysql
0
जोड़ा
आप इसके बजाय Gemfile के लिए मणि जोड़ना चाहते हैं।
जोड़ा लेखक Riccardo, स्रोत

नई परियोजना पर, आसान peasy:

rails new your_new_project_name -d mysql

मौजूदा परियोजना पर, निश्चित रूप से trickier। इसने मुझे मौजूदा रेल परियोजनाओं पर कई मुद्दे दिए हैं। मेरे साथ इस तरह के काम करता है:

# 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
जोड़ा