Ruby on Rails 4'te kullanılabilecek veri türlerinin listesini nerede bulabilirim? Gibi
text
string
integer
float
date
Yenilerini öğrenmeye devam ediyorum ve kolayca başvurabileceğim bir liste olmasını çok isterim.
Ruby on Rails 4'te kullanılabilecek veri türlerinin listesini nerede bulabilirim? Gibi
text
string
integer
float
date
Yenilerini öğrenmeye devam ediyorum ve kolayca başvurabileceğim bir liste olmasını çok isterim.
Yanıtlar:
Tüm Rails 4 (ActiveRecord taşıma) veri türleri şunlardır:
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:bigint
:primary_key
:references
:string
:text
:time
:timestamp
Kaynak: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
Bunlar Rails 3 ile aynıdır .
PostgreSQL kullanıyorsanız, bunlardan da yararlanabilirsiniz:
:hstore
:json
:jsonb
:array
:cidr_address
:ip_address
:mac_address
Uygulamanızı PostgreSQL olmayan bir veritabanıyla çalıştırırsanız dizeler olarak saklanırlar.
Edit, 2016-Eylül-19:
Orada çok daha fazla postgres belirli Raylar 4'te datatypes ve hatta daha Raylar 5'de.
text
veri türü yok gibi görünüyor . Yine de, raylar hala başa çıkabilir mi? Arka planda neler oluyor?
nil
postgres olmayan bir veritabanına yazacaktır. Konsoldaki türü ile inceleyebilirsiniz Model.columns_hash["column_name"].type
. Bunlar sadece kullanırken karşılaştığım şeyler: json sütun türü, yanlış olabilir ve bu herkesin başına gelmeyebilir, ancak gelecekteki okuyucuların sorun olması durumunda haber vereceğini düşündüm. Ne olursa olsun, bu cevap için +1 çünkü bana gerçekten yardımcı oldu.
Bu veri türlerinin ne için kullanıldığını genel olarak bilmek de yararlı olabilir:
:string
- başlık gibi küçük veri türleri içindir. ( Dize veya metin seçmeli misiniz? ):text
- bilgi paragrafı gibi daha uzun metinsel veri parçaları içindir:binary
- resim, ses veya film gibi verileri depolamak içindir.:boolean
- doğru veya yanlış değerleri saklamak içindir.:date
- yalnızca tarihi depola:datetime
- tarih ve saati bir sütunda saklayın. :time
- sadece zaman içindir:timestamp
- tarih ve saati bir sütuna kaydetmek için. (tarih / saat ve zaman damgası arasındaki fark nedir? ):decimal
- ondalık sayılar içindir (ondalık sayıların nasıl kullanılacağına örnek ).:float
- ondalık sayılar içindir. ( Ondalık ve kayan noktalı sayı arasındaki fark nedir? ):integer
- tam sayılar içindir.:primary_key
- tablodaki her satırı benzersiz şekilde tanımlayabilen benzersiz anahtarDernekler oluşturmak için kullanılan referanslar da vardır. Ancak, bunun gerçek bir veri türü olduğundan emin değilim .
Yeni Raylar PostgreSQL'de mevcut 4 veri türü:
:hstore
- anahtar / değer çiftlerini tek bir değerde depolama ( bu yeni veri türü hakkında daha fazla bilgi edinin ):array
- belirli bir satırdaki sayıların veya dizelerin düzenlenmesi ( hakkında daha fazla bilgi edinin ve örneklere bakın ):cidr_address
- IPv4 veya IPv6 ana bilgisayar adresleri için kullanılır:inet_address
- cidr_adresi ile aynı IPv4 veya IPv6 ana bilgisayar adresleri için kullanılır, ancak ağ maskesinin sağında sıfır olmayan bitlere sahip değerleri de kabul eder:mac_address
- MAC ana bilgisayar adresleri için kullanılırBurada ve burada adres veri türleri hakkında daha fazla bilgi edinin .
Ayrıca, göçlerle ilgili resmi kılavuz: http://edgeguides.rubyonrails.org/migrations.html
uuid
olarak kullanılabilir tipi normal bir alan gibi t.uuid :name...
veya primer gibi anahtar olarak create_table :users, id: :uuid do...
veya örneğint.primary_key :id, :uuid, :default => 'uuid_generate_v1()'
ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnMethods
listelenen Rails tarafından desteklenen ek PostgreSQL türleri . Önemli özellikleri money
, json
, xml
,daterange
Sadece türleri bilmekle kalmaz, aynı zamanda bu türlerin veritabanı türleriyle de eşleştirilmesi önemlidir:
Kaynak eklendi - Rails 4 ile Çevik Web Geliştirme
NATIVE_DATABASE_TYPES
olan adaptörü her zaman kontrol edebilirsiniz - github.com/rails/rails/blob/master/activerecord/lib/…
Bu listeye istediğiniz zaman (İnternet erişiminiz olmasa bile) aşağıdaki yollardan ulaşabilirsiniz:
rails generate model -h
Rails4, Postgres için bazı ek veri tiplerine sahiptir.
Örneğin, railscast # 400 bunlardan ikisini adlandırır:
Rails 4, Postgres'te yerel veri türleri için desteğe sahiptir ve burada çok daha fazlası desteklense de, bunlardan ikisini göstereceğiz: dizi ve hstore. Dizileri dize türü bir sütunda depolayabilir ve hstore için türü belirtebiliriz.
Ayrıca cidr, inet ve macaddr kullanabilirsiniz. Daha fazla bilgi için: