Rails ActiveRecord 데이터 유형

13821 단어 railsdatabaseruby
나는 보통 ActiveRecord의 데이터 유형에 대해 알고 싶어하지만 Active Record Migration 문서 자체에는 해당 정보가 없습니다.

그래서 저는 Google 검색을 하고 여기에 TL;DR이 있습니다.

Rails 6에서 사용할 수 있는 ActiveRecord 데이터 유형.


  • :primary_key
  • :string : 짧은 텍스트
  • :text : 긴 텍스트
  • :integer : 정수 [-4, 0, 9, 772]
  • :float : 배정밀도 부동 소수점 숫자 [3244.90]
  • :decimal : 고정밀 부동 소수점 숫자 [3244.2342343789212]
  • :datetime
  • :time
  • :date
  • :binary : 1/0
  • :boolean : 참 또는 거짓

  • 이러한 데이터 유형은 마이그레이션과 같은 인스턴스에서 사용됩니다.

    def change
      create_table :categories do |t|
        t.string :title
        t.boolean :is_subcategory
        t.string :permalink
        t.timestamps
      end
    end
    



    특정 DBMS 데이터 유형



    MySQL Data Types

    NATIVE_DATABASE_TYPES = {
            primary_key: "bigint auto_increment PRIMARY KEY",
            string:      { name: "varchar", limit: 255 },
            text:        { name: "text" },
            integer:     { name: "int", limit: 4 },
            float:       { name: "float", limit: 24 },
            decimal:     { name: "decimal" },
            datetime:    { name: "datetime" },
            timestamp:   { name: "timestamp" },
            time:        { name: "time" },
            date:        { name: "date" },
            binary:      { name: "blob" },
            blob:        { name: "blob" },
            boolean:     { name: "tinyint", limit: 1 },
            json:        { name: "json" },
          }
    


    PostgreSQL Data Types

    NATIVE_DATABASE_TYPES = {
            primary_key: "bigserial primary key",
            string:      { name: "character varying" },
            text:        { name: "text" },
            integer:     { name: "integer", limit: 4 },
            float:       { name: "float" },
            decimal:     { name: "decimal" },
            datetime:    {}, # set dynamically based on datetime_type
            timestamp:   { name: "timestamp" },
            timestamptz: { name: "timestamptz" },
            time:        { name: "time" },
            date:        { name: "date" },
            daterange:   { name: "daterange" },
            numrange:    { name: "numrange" },
            tsrange:     { name: "tsrange" },
            tstzrange:   { name: "tstzrange" },
            int4range:   { name: "int4range" },
            int8range:   { name: "int8range" },
            binary:      { name: "bytea" },
            boolean:     { name: "boolean" },
            xml:         { name: "xml" },
            tsvector:    { name: "tsvector" },
            hstore:      { name: "hstore" },
            inet:        { name: "inet" },
            cidr:        { name: "cidr" },
            macaddr:     { name: "macaddr" },
            uuid:        { name: "uuid" },
            json:        { name: "json" },
            jsonb:       { name: "jsonb" },
            ltree:       { name: "ltree" },
            citext:      { name: "citext" },
            point:       { name: "point" },
            line:        { name: "line" },
            lseg:        { name: "lseg" },
            box:         { name: "box" },
            path:        { name: "path" },
            polygon:     { name: "polygon" },
            circle:      { name: "circle" },
            bit:         { name: "bit" },
            bit_varying: { name: "bit varying" },
            money:       { name: "money" },
            interval:    { name: "interval" },
            oid:         { name: "oid" },
          }
    



    다양한 DB 데이터 유형에 매핑되는 Rails 데이터 유형:



    유형뿐만 아니라 이러한 유형을 데이터베이스 유형에 매핑하는 것도 중요합니다.




    쉬운 방법 ✌️



    다음을 통해 원할 때마다(인터넷에 액세스할 수 없는 경우에도) 이 목록에 액세스할 수 있습니다.

    rails generate model -h
    





    자원;

    1 2 3 4 5 6 7

    좋은 웹페이지 즐겨찾기