مطالب مفید

مقدمه
 

در ادامه مبحث قبلی به سفارش کانون تبلیغاتی تکین پرداز تبریز یه ترجمه دیگه بر اساس طراحی وب سایت با روبی رو براتون میزاریم که امیدواریم براتون مفید باشه.ممنون از لطفتون
 

 

ایجاد میز دیتابیسDatabase Table


 

توی بخش قبل یه مدل به اسم Employee ایجاد کردید، اما تو این بخش از کارتون دیتابیس شما table نداره! چون ما تا اینجا دیتابیس تشکیل دادیم ولی table دیتابیس تشکیل ندادیم.پس هیچ ساختاری وجود نداره که مدلمون برا ما بازتاب بده.
 

شما باید یک table به دیتابیستون اضافه کنین.دلیل این کار اینه که( employee name,  employee salary  و غیره) در واقع ساختار میز شما رو تشکیل میده.
 

برای تشکیل table، ریلز یک مکانیزم مهاجرت داره (migration mechanism). این سیستم روبی برای تشکیل میز، اضافه کردن ستون به میزها و چیزهای خوب دیگه که بعدا بهتون میگم کاربرد داره. و اینطوری کار میکنه.
 

  1. توی بخش ناوبری صفحه ریلز شاخه company رو باز کنین.و بعدش شاخه db رو باز کنین و نهایتا بخش  migrate رو باز کنین.
     

توی شاخه migrate این گزینه رو میبینین 001_create_employees.rb . این شاخه فایل کد تشکیل شده با روبی رو نشون میده.
 

  1. رو 001_create_employees.rb کلیک کنین.
     

یک ادیتور ظاهر میشه که کد روبی رو توی فایل 001_create_employees.rb نشون میده.
 


  1. لاین های زیر رو به فایل 001_create_employees.rb  اضافه کنید.
     

لاین های t.column رو مثل شکل زیر اضافه کنید.
 

class CreateEmployees < ActiveRecord::Migration

def self.up

create_table :employees do |t|

# t.column :name, :string

t.column :name, :string

t.column :hiredate, :date

t.column :salary, :float

t.column :fulltime, :boolean

t.column :vacationdays, :integer

t.column :comments, :text

end

end

def self.down

drop_table :employees

end

end


قبل اینکه برید مرحله بعدی کدهاتونو دوباره چک کنین. غلط املایی، با حروف رعایت نوشتن با حروف بزرگ و کوچک و نشانه گذاریتونو بررسی کنین
 

  1. بعد اینکه چک کردنتون تموم شد گزینه  save رو بزنین.
     

الان تمام تغییراتتون تو پوشه migration در امن و امانه.
 

  1. توی پنجره کناری دست راست پایینی RadRails تب RakeTasksTab رو انتخاب کنین.
     

 

  1. توی لیست Rake tasks view’s گزینه db:migrate رو انتخاب کنین.
     

اصلا چه نوع ستونی رو دارید ایجاد میکنید؟
 

توی خط 3 کد مهجرتتون به ریلز گفتید تا یک میز دیتا بیس براتون تولید کنه.که اون میز هم شامل 6 تا ستون باشه.و هر ستون هم name  و type داشته باشه. Name ستون رو تعریف میکنه . type تعریف میکنه که نوع value هایی که قراره وارد ستون های میزتون بشه چی باشه.
 

توی کد قسمت3 اسم ستون هامون name, hiredate, salary, fulltime, vacationdays, و comments بود.
 

توی کد مرحله 3 نوع مقدارهای ما برای ورودی ستون ها string, date, float, boolean, integer, و  textبود.کلمه string  برای رشته های کوتاهی از کاراکترها استفاده میشه.کلمه date برای زمان تقویمی کاربرد داره. کلمه float برای داده های خارج از  اعداد دهدهی کاربرد داره.عددی مثل 23999.95 . کلمه Boolean برای تعریف true و false کاربرد داره.(true ،بله این کارمند فول تایم کار میکند. False ، این کارمند فول تایم کار نمیکند). کلمه integer برای تعریف کلماتی  که بر روی اعداد دهدهی قرار دارند کاربرد دارد.مثل 60. و در نهایت کلمه text برای داده های ذاتا بلند و با رشته های طولانی کاربرد دارد. اگه به این فکر میکنید که این نوع داده ها اصلا فرقی هم میکنه یا نه باید بگم که. اسم یک کارمند نمیتونه بیشتر از 30 کاراکتر باشه. ممکنه حقوق یک کارمند توش سنت داشته باشه( یا به اصطلاح خودمون قرون). یا اصلا با دوتا صفر اضافی بازم بره رو اعشار 25000.00 حتی با اینکه اون دوتا عدد هم صفر هستنن. معمولا اعداد روزهای تعطیل هم یک عدد کامله یعنی کارمندی با 15.27 روز تعطیلی خیلی کمیابه مثل کارمندی که 2.5 تا بچه داشته باشه. و بخش کامنت ها ممکنه کلی کاراکتر توش لازم باشه مخصوصا برای بعضی از کارمندا که من تا حالا دیدم.
 

  1. توی task view روی Go کلیک کنین.
     

 در جواب به این کارتون روبی ریلز میز employee براتون تشکیل میده.ریلز از روی اسم مدلتون کهemployee  هست حدس میزنه میزتون اسمش employee هست.(ریلز توی حدس زدن اسم ها استاده.(مثلا برای مدلی با اسم prson  ممکنه میزی به اسم people ایجاد کنه.)
 

برای تایید تولید میزتون RadRails براتون چند تا پیام مهاجرت رو نشون میده.اگه خیلی براتون مهمه که قطعی بدونین موضوع حله MySQL رو باز کنین و میزهای تازه ایجاد شده رو تست کنین.
 


توی قسمت 7 شما کد مهاجرت رو اجرا میکنین، ولی این کارو مستقیما انجام نمیدید. بجاش شما چیزی به اسم Rake رو فراخوانی میکنین که کد migrate رو از طرف شما فرا می خونه.برای اینکه راجب Rake بیشتر بدونین به سایت زیر مراجعه کنین http://rubyforge.org/ projects/rake.

 


ترجمه شده به سفارش : آژانس تبلیغاتی تکین پرداز تبریز

 


مترجم:

 


تاریخ تولید :