এসকিউএলাইটের পরিবর্তে মাইএসকিউএল ব্যবহার করে রেলস অ্যাপ্লিকেশনটিতে একটি নতুন রুবি তৈরি করুন


130

আমি মাইএসকিউএল দিয়ে আমার রেল অ্যাপ্লিকেশন তৈরি করতে চাই, কারণ আমার এটি খুব ভাল লেগেছে। আমি কীভাবে এটি ডিফল্ট এসকিউএলাইটের পরিবর্তে রেলের সর্বশেষ সংস্করণে করতে পারি?

উত্তর:


140

আপনার যদি ইতিমধ্যে একটি রেল প্রকল্প রয়েছে, তবে config/database.ymlফাইলটিতে অ্যাডাপ্টারটি পরিবর্তন করুন mysqlএবং নিশ্চিত করুন যে আপনি কোনও বৈধ ব্যবহারকারীর নাম এবং পাসওয়ার্ড এবং বিকল্প হিসাবে সকেট উল্লেখ করেছেন:

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

এরপরে, নিশ্চিত করুন যে আপনি মাইএসকিএল 2 বা অ্যাক্টিভরেকর্ড-জেডিবিসিএমএসকিএল-অ্যাডাপ্টার (যদি জুরবি ব্যবহার করছেন) অন্তর্ভুক্ত করতে আপনার জেমফিল সম্পাদনা করেছেন।


2
এটি সহায়ক; অন্যান্য উত্তর যেমন জেনারেটর ব্যবহার করে। এই উত্তরটি কোনও অ্যাপ্লিকেশনটি ইতিমধ্যে তৈরি হওয়ার পরে মাইএসকিউএল যুক্ত করার জন্য কাজ করে, হয় বিদ্যমান (যেমন এসকিউএলাইট) ডিবি প্রতিস্থাপন করতে বা গৌণ ডাটাবেস যুক্ত করতে। এছাড়াও, মাইএসকিউএল 2 আজকের এই ব্যান্ডগুলি রেলগুলির কাছে যেতে যাওয়া মণি বলে মনে হচ্ছে।
আরসিডি

13
আপনাকে জেমফাইল আপডেট করতে হবে; সরান gem 'sqlite3'এবং যুক্ত করুনgem 'mysql2'
আরজিবি


56

রেল 3 এর জন্য আপনি এই কমান্ডটি মাইএসকিএল ব্যবহার করে একটি নতুন প্রকল্প তৈরি করতে পারেন:

$ rails new projectname -d mysql


22

আপনি যদি এখনও নিজের অ্যাপটি তৈরি না করে থাকেন, কেবল সিমডিডি (উইন্ডোজের জন্য) বা টার্মিনালে (লিনাক্স / ইউনিক্সের জন্য) যান এবং মাইএসকিএল ডাটাবেস সহ রেল অ্যাপ্লিকেশন তৈরি করতে নিম্নলিখিত কমান্ডটি টাইপ করুন:

$rails new <your_app_name> -d mysql

এটি রেল সংস্করণ ৩ এর উপরে যে কোনও কিছুর জন্য কাজ করে If যদি আপনি ইতিমধ্যে আপনার অ্যাপ তৈরি করেছেন, তবে আপনি নিম্নলিখিত 2 টির মধ্যে একটি করতে পারেন:

  1. মাইএসকিএল ডাটাবেস সহ অন্য_নাম অ্যাপ্লিকেশন তৈরি করুন , সিডি অন্য_নাম / কনফিগার করুন / এ যান এবং এই নতুন অ্যাপ্লিকেশন থেকে ডাটাবেস.আইএমএল ফাইলটি অনুলিপি করুন। আপনার_অ্যাপ_নাম অ্যাপ্লিকেশনটির ডাটাবেস.আইএমএলে এটি আটকান । তবে ডাটাবেসের নাম পরিবর্তন করতে এবং আপনার ডাটাবেসের ব্যবহারকারীর নাম / পাসওয়ার্ড সেট করে ডাটাবেস.আইএমএল ফাইলে সেট করার পরে নিশ্চিত করুন।

অথবা

  1. সিডি আপনার_অ্যাপ_নাম / কনফিগার / এবং ওপেন ডাটাবেস.আইএমএল এ যান । নিম্নলিখিত হিসাবে নাম পরিবর্তন করুন:

বিকাশ:
অ্যাডাপ্টার: mysql2
ডাটাবেস: db_name_name
ব্যবহারকারী নাম: রুট
পাসওয়ার্ড:
হোস্ট: লোকালহোস্ট
সকেট: /tmp/mysql.sock

তদতিরিক্ত, আপনার জেমফাইল থেকে মণি 'স্ক্লাইট 3' সরান এবং মণিটি 'মাইএসকিএল 2' যুক্ত করুন


13

আপনি যদি রেল 3 বা ততোধিক সংস্করণ ব্যবহার করেন

rails new your_project_name -d mysql

আপনার যদি আগের সংস্করণ থাকে

rails new -d mysql your_project_name

সুতরাং আপনি আপনার প্রকল্পটি তৈরি করার আগে আপনাকে রেলের সংস্করণটি খুঁজে বের করতে হবে। যে আপনি খুঁজে পেতে পারেন

rails -v


11
rails new <project_name> -d mysql

অথবা

rails new projectname

কনফিগারেশন / ডাটাবেস.আইএমএল পরিবর্তন

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


9
$ rails --help 

সর্বদা আপনার সেরা বন্ধু

ব্যবহার:

$ rails new APP_PATH[options]

আরও উল্লেখ করুন যে আবেদন নামের পরে বিকল্পগুলি দেওয়া উচিত

রেল এবং মাইএসকিএল

$ rails new project_name -d mysql

রেল এবং postgresql

$ rails new project_name -d postgresql

8

আপনার -d এর পরিবর্তে স্যুইচ-ডি ব্যবহার করা উচিত কারণ এটি দুটি অ্যাপ্লিকেশন এবং কোনও ডকুমেন্টেশন ফোল্ডার ছাড়াই মাইএসকিএল উত্পন্ন করবে।

  rails -D mysql project_name  (less than version 3)

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

বিকল্পভাবে আপনি কেবল --databaseবিকল্পটি ব্যবহার করেন ।



6

3 রেলগুলিতে, আপনি করতে পারেন

$rails new projectname --database=mysql

6

আপনি যদি একটি নতুন রেল অ্যাপ্লিকেশন তৈরি করে থাকেন তবে আপনি -D সুইচটি ব্যবহার করে ডাটাবেস সেট করতে পারেন:

rails -d mysql myapp

আপনার ডেটাবেসটি পরে পরিবর্তন করা সর্বদা সহজ, যদিও আপনি যদি কোনও ম্যাকের উপর বিকাশ করে থাকেন তবে স্ক্লাইট ব্যবহার করা সত্যিই সহজ।


3

নতুন প্রকল্পে, সহজ প্যাসি:

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 

2

প্রথমে নিশ্চিত করুন যে মাইএসকিএল রত্ন ইনস্টল করা আছে, যদি না? আপনার কনসোলে নিম্নলিখিত কমান্ডের চেয়ে কম টাইপ করুন

gem install mysql2

আপনার কনসোলে নিম্নলিখিত কমান্ডটি লিখে নতুন রেল অ্যাপ তৈরি করা এবং মাইএসকিএল ডাটাবেসটিকে ডিফল্ট ডেটাবেস হিসাবে সেট করা

rails new app-name -d mysql

1
আপনি পরিবর্তে রত্নটি রত্নটি যোগ করতে চান।
রিকার্ডো

0

মাইএসকিএল ডাটাবেস সহ এপিআইয়ের জন্য নতুন অ্যাপ তৈরি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন

rails new <appname> --api -d mysql


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

0

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

রত্ন :

# Use mysql as the database for Active Record
gem 'mysql2', '>= 0.4.4', '< 0.6.0'

0

আপনার প্রথমে নিশ্চিত হওয়া উচিত যে আপনি যদি উবুন্টু বা কোনও ডেবিয়ান ডিস্ট্রো ব্যবহার করেন তবে আপনার টার্মিনালে এটি চালনা না করে মাইএসকিউএল ড্রাইভারটি আপনার সিস্টেমে রয়েছে make

sudo apt-get install mysql-client libmysqlclient-dev

এবং এটি আপনার গেমফাইলে যুক্ত করুন

gem 'mysql2', '~> 0.3.16'

তারপরে আপনার প্রকল্পের মূল ডিরেক্টরিতে চালান

bundle install

এর পরে আপনি পূর্ববর্তী উত্তর হিসাবে কনফিগার / ডাটাবেস.আইএমএলতে মাইএসকিএল কনফিগার করতে পারেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.