রেলস 4: উপলভ্য ডেটাটাইপগুলির তালিকা


405

রুবেলে রেল 4 এ ব্যবহার করা যেতে পারে এমন ডেটা ধরণের একটি তালিকা আমি কোথায় পাব? যেমন

  • text
  • string
  • integer
  • float
  • date

আমি নতুন সম্পর্কে শিখতে থাকি এবং আমি সহজেই উল্লেখ করতে পারি এমন একটি তালিকা পেতে পছন্দ করি।



1
@ মার্কথোমাস: নকল নয়। আমার এখানে প্রশ্নটি বিশেষত
নিকোলাস রাউল

এই প্রশ্নের গৃহীত উত্তরটি মূলত আপনার গৃহীত উত্তরের মতোই। উভয়ই রেলগুলি 4 ডক্সের দিকে নির্দেশ করে। এছাড়াও, এটি একটি মূল বিন্দু কারণ অ্যাক্টিভেকর্ড ডেটাটাইপগুলি রেল 3 থেকে রেল 4-তে পরিবর্তিত হয়নি
মার্ক টমাস

10
আমি একজনকে জানতাম না যে এআর ডেটাটাইপগুলি 3 এবং 4 রেলের মধ্যে পরিবর্তন হয় নি তাই আমি এই প্রশ্নটি / উত্তরটি এখানে ধন্যবাদ জানাই।
Dty

উত্তর:


667

এখানে সমস্ত রেল 4 (অ্যাক্টিভেকর্ডার মাইগ্রেশন) ডেটাটাইপ রয়েছে:

  • :binary
  • :boolean
  • :date
  • :datetime
  • :decimal
  • :float
  • :integer
  • :bigint
  • :primary_key
  • :references
  • :string
  • :text
  • :time
  • :timestamp

উত্স: http://api.rubyonrails.org/classes/AtivetiveRecord/ConnicationAdapters/SchemaStatements.html#method-i-add_column
এগুলি রেল 3 এর মতোই ।

আপনি যদি PostgreSQL ব্যবহার করেন তবে আপনি এগুলিও নিতে পারেন:

  • :hstore
  • :json
  • :jsonb
  • :array
  • :cidr_address
  • :ip_address
  • :mac_address

আপনি যদি পোস্ট-গ্রিজএসকিউএল ডেটাবেস দিয়ে আপনার অ্যাপ্লিকেশনটি চালনা করেন তবে সেগুলি স্ট্রিং হিসাবে সংরক্ষণ করা হয়।

সম্পাদনা করুন, 2016-সেপ্টেম্বর -19:

আছে আরো অনেক পাগল 4 postgres নির্দিষ্ট datatypes এবং আরও বেশি পাগল 5।


1
আমি বিশ্বাস করি এটি হ'ল ডেটাটাইপ যা সমস্ত ডাটাবেস জুড়ে সমর্থিত। তবে পিটার ডি রাইডার উল্লেখ করেছেন যে হস্টোরের মতো কিছু ডেটাটাইপ রয়েছে যা এখনও সমর্থিত।
আলতাফ হামেজ

প্রশ্ন: পোস্টগ্রিজ ডকুমেন্টেশনে textডেটা টাইপ নেই বলে মনে হয় । তবুও, রেলগুলি এখনও এটি পরিচালনা করতে পারে? ব্যাকগ্রাউন্ডে কি হয়?
আহ্নবিজক্যাড

PostgreSQL এর একটি পাঠ্য ডেটাটাইপ রয়েছে। হুডের নীচে সমস্ত বর্ণা / পাঠ্য ক্ষেত্রগুলি পরিবর্তনশীল দৈর্ঘ্যের অ্যারে হয়। postgresql.org/docs/9.3/interactive/datatype-character.html
মাখন

আমি যুক্ত করতে চাই যে আপনি যদি একটি পোস্ট-পোস্টগ্রিজ ডাটাবেস ব্যবহার করেন এবং আপনার অ্যাপ্লিকেশন স্কিমা_ফর্ম্যাটটি সেট করতে না সেট করা থাকে: বর্গফুট, তবে আপনার স্কিমা.আরবি ফাইলটি টেবিলটি ডাম্প করতে সক্ষম হবে না যেমন: json ব্যবহার করে। স্কিমাটি এখনও সেই টেবিলগুলির জন্য ফেলে দেওয়া হবে যা ডিফল্ট প্রকারগুলি ব্যবহার করে তবে আপনি "টেবিলটি ফেলে দিতে পারেন না ..." এর মতো বিশেষ ধরণের টেবিলের জন্য একটি মন্তব্য দেখতে পাবেন। স্কিমা_ফর্ম্যাট সেট করতে এখানে দেখুন
বিপারেসেভিক

এছাড়াও, এই কলামগুলিতে nilএকটি পোস্টবিহীন ডাটাবেস টাইপ থাকবে । আপনি কনসোলে টাইপটি সাথে পরিদর্শন করতে পারেন Model.columns_hash["column_name"].type। জাস্টসন কলামের প্রকারটি, আমি ভুল হতে পারি এবং এটি সবার ক্ষেত্রে নাও হতে পারে তবে আমি ভেবেছিলাম ভবিষ্যতে পাঠকদের যদি কোনও সমস্যা হয় তবে আমি তা জানাতে চাই। নির্বিশেষে, এই উত্তরের জন্য +1 কারণ এটি আমাকে সত্যই সহায়তা করেছিল।
বিপারেসেভিক

249

এই ডেটা ধরণের জন্য কী ব্যবহার করা হয় তা সাধারণত আপনি জেনে রাখা দরকারী হতে পারেন:

সমিতি তৈরি করতে ব্যবহৃত রেফারেন্সও রয়েছে। তবে, আমি নিশ্চিত নই যে এটি একটি আসল ডাটা টাইপ

পোস্টগ্র্রেএসকিউএল-এ নতুন রেলস 4 ডেটাটাইপ উপলব্ধ:

  • :hstore- একক মানের মধ্যে কী / মান জোড়া সংরক্ষণ করা ( এই নতুন ডেটা টাইপ সম্পর্কে আরও জানুন )
  • :array- একটি নির্দিষ্ট সারিতে সংখ্যা বা স্ট্রিংয়ের বিন্যাস ( এটি সম্পর্কে আরও জানুন এবং উদাহরণগুলি দেখুন )
  • :cidr_address - আইপিভি 4 বা আইপিভি 6 হোস্ট ঠিকানাগুলির জন্য ব্যবহৃত used
  • :inet_address - সিডর_ড্রেস হিসাবে একই আইপিভি 4 বা আইপিভি 6 হোস্ট ঠিকানাগুলির জন্য ব্যবহৃত তবে এটি নেটমাস্কের ডানদিকে নানজারো বিট সহ মানগুলিও গ্রহণ করে
  • :mac_address - ম্যাক হোস্ট ঠিকানাগুলির জন্য ব্যবহৃত

এখানে এবং এখানে ঠিকানা ডেটাটাইপগুলি সম্পর্কে আরও জানুন ।

এছাড়াও, মাইগ্রেশন সম্পর্কিত সরকারী গাইড এখানে রয়েছে: http://edgeguides.rubyonrails.org/migrations.html


13
হাততালি। পূর্ণতা এবং ব্যবহারের প্রত্যাশার জন্য +1। এটি ঠিক সেখানে ইউএক্স মানসিকতা।
আহ্নবিজক্যাড

5
একেবারে ভয়ঙ্কর উত্তর - এর জন্য অনেক ধন্যবাদ। পার্থক্য সম্পর্কিত নিবন্ধগুলির লিঙ্কগুলি আক্ষরিকভাবে আমার মুখ থেকে প্রশ্নগুলি নিয়ে এসেছিল।
nlh

3
Postgres জন্যে রয়েছে অতিরিক্ত একটি হল uuidটাইপ যা ব্যবহার করা যেতে পারে স্বাভাবিক ক্ষেত্র মত t.uuid :name... বা মত প্রাথমিক কী হিসাবে create_table :users, id: :uuid do...অথবা যেমনt.primary_key :id, :uuid, :default => 'uuid_generate_v1()'
টিঅ্যান্ডটি

1
অতিরিক্ত পোষ্টগ্রিজএসকিউএল প্রকারগুলি এর জন্য এপিআইActiveRecord::ConnectionAdapters::PostgreSQL::ColumnMethods ডক্সে তালিকাভুক্ত রেল দ্বারা সমর্থিত । হাইলাইটস অন্তর্ভুক্ত money, json, xml,daterange
ইলিয়ট সাইকস

1
হ্যাঁ, ইউইড পোস্টগ্র্রেসের জন্য যুক্ত করা হয়েছিল, তবে এটি একটি অ্যাক্টিভ রেকর্ড তৈরি () দিয়ে ফিরে আসে না। 5 ইস্যুটি কি ব্যর্থ 5 দিয়ে স্থির করা হয়েছে?
মার্টিন সোমার

156

ডাটাবেস টাইপগুলিতে কেবল প্রকারগুলিই নয় তবে এই ধরণের ম্যাপিংটিও জানা গুরুত্বপূর্ণ:

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন


উত্স যোগ করা - রেল 4 সহ চৌর্য ওয়েব ডেভলপমেন্ট


1
আমি এই টেবিলটিতে জসন টাইপটি দেখতে আগ্রহী হব, যদি আপনি এটির বিষয়ে মনে করেন
ফ্রিডম_বেন

2
NATIVE_DATABASE_TYPESআপনার প্রয়োজনীয় অ্যাডাপ্টারের জন্য আপনি সর্বদা এটি পরীক্ষা করতে পারেন - github.com/rails/rails/blob/master/activerecord/lib/…
21

সময়ের সাথে সাথে এই বিষয়গুলির জন্য কোনও গাইড বা সত্যের কোনও উত্স আছে?
হুগো

81

আপনি যখনই চান এই তালিকাটি অ্যাক্সেস করতে পারেন (আপনার কাছে ইন্টারনেট অ্যাক্সেস না থাকলেও):

rails generate model -h

5

রেলস 4 এর পোস্টগ্রিসের জন্য কিছু যুক্ত ডেটাটাইপ রয়েছে।

উদাহরণস্বরূপ, রেলস্কাস্ট # 400 এর মধ্যে দুটির নাম:

4 রেল পোস্টগ্রিসে নেটিভ ডেটাটাইপগুলির জন্য সমর্থন করে এবং আমরা এর মধ্যে দুটি এখানে প্রদর্শন করব, যদিও আরও অনেকগুলি সমর্থিত: অ্যারে এবং hstore। আমরা স্ট্রিং-টাইপ কলামে অ্যারেগুলি সঞ্চয় করতে পারি এবং hstore এর জন্য ধরণ নির্দিষ্ট করতে পারি।

এছাড়াও, আপনি সিডার, ইনেট এবং ম্যাকডিডিআর ব্যবহার করতে পারেন। আরও তথ্যের জন্য:

https://blog.engineyard.com/2013/new-in-rails-4

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