Rails 3 ประเภทข้อมูล?


158

ฉันจะหารายการประเภทข้อมูลที่สามารถใช้ได้ในราง 3 (เช่นข้อความสตริงจำนวนเต็มลอยวันที่ ฯลฯ ) ฉันจะเรียนรู้เกี่ยวกับสิ่งใหม่ ๆ แต่ฉันชอบที่จะมีรายการที่ฉันสามารถอ้างอิงได้ง่าย

คำตอบ:


270

นี่คือRails3ประเภทข้อมูล (การโยกย้าย ActiveRecord):

: ไบนารี
: บูลีน
: วันที่: วันที่และเวลา
:
ทศนิยม
: ลอย
: จำนวนเต็ม
: primary_key
: การอ้างอิง
: สตริง
: ข้อความ
: เวลา
: เวลาประทับ

แหล่ง


4
และ: การอ้างอิงสำหรับการเชื่อมโยง polymorphic ดู: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/ …
Ethan Ethan

คู่มือมีการเปลี่ยนแปลง บางทีลิงก์ไปยังเอกสารที่เกี่ยวข้องควรแทนที่
Harry Moreno

1
@HarryMoreno: ขอบคุณสำหรับเคล็ดลับ! ฉันอัปเดตข้อมูลอ้างอิงโปรดแจ้งให้เราทราบหากคุณพบสิ่งที่ดีกว่านี้
Nicolas Raoul

การอ้างอิงไม่ จำกัด เฉพาะการเชื่อมโยง polymorphic และฉันจะไม่นับเป็นประเภทข้อมูล
ปาสกาล

67

สิ่งสำคัญคือต้องรู้ไม่เพียง แต่ชนิด แต่การแมปประเภทเหล่านี้กับชนิดฐานข้อมูลด้วย:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ตัวอย่างเช่นโปรดทราบว่าใน MS SQL Server เราใช้:

  1. "datetime" เก่าแทน "datetime2"
  2. ทศนิยมที่มีความแม่นยำเริ่มต้น
  3. ข้อความและ varchar แทน nvarchar
  4. int (เป็นไปไม่ได้ที่จะใช้ int เล็ก / int เล็ก / ใหญ่ int)
  5. ภาพแทน BLOB

2
ตามที่พบจากบล็อกนี้ สามารถตั้งค่า tinyint / smallint / bigint โดยใช้: ตัวเลือก จำกัด ด้วย: จำนวนเต็ม ฉันได้ทดสอบกับ Rails 3 และ MySQL แล้วพวกเขายังคงใช้งานได้ดังที่ได้กล่าวไว้ในบล็อก
RacsO

26

คุณหมายถึงการกำหนดการโยกย้ายบันทึกที่ใช้งานอยู่? หรือคุณหมายถึงประเภทข้อมูลทับทิม?

นี่คือลิงค์ที่อาจช่วยในการสร้างการย้ายข้อมูล:

แนวคิดมุมฉาก - MySQL และ Ruby on Rails ประเภทข้อมูล


16

อาจเป็นประโยชน์ที่จะทราบโดยทั่วไปว่าชนิดข้อมูลเหล่านี้ใช้สำหรับ:

  • binary - ใช้สำหรับจัดเก็บข้อมูลเช่นรูปภาพเสียงหรือภาพยนตร์
  • บูลีน - สำหรับเก็บค่าจริงหรือเท็จ
  • date - เก็บเฉพาะวันที่
  • วันที่และเวลา - เก็บวันที่และเวลาลงในคอลัมน์
  • ทศนิยม - สำหรับทศนิยม
  • ลอย - สำหรับทศนิยม ( ทศนิยมและทศนิยมต่างกันอย่างไร )
  • จำนวนเต็ม - ใช้สำหรับจำนวนเต็ม
  • primary_key - คีย์เฉพาะที่สามารถระบุแต่ละแถวในตารางโดยไม่ซ้ำกัน
  • string - สำหรับชนิดข้อมูลขนาดเล็กเช่นชื่อเรื่อง ( คุณควรเลือกสตริงหรือข้อความ )
  • text - ใช้สำหรับข้อมูลที่เป็นข้อความที่ยาวขึ้นเช่นย่อหน้าของข้อมูล
  • เวลา - ใช้สำหรับเวลาเท่านั้น
  • timestamp - สำหรับการจัดเก็บวันที่และเวลาลงในคอลัมน์

ฉันหวังว่าจะช่วยใครบางคน! นี่คือรายการอย่างเป็นทางการ: http://guides.rubyonrails.org/migrations.html#supported-types

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.