`
fantaxy025025
  • 浏览: 1309232 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Rails_migrations中使用mysql的bigint

 
阅读更多

From:http://rubyer.me/blog/468/

 

使用mysql时,integer最大是2147483647(10位)。如果想存储更大的数字就要使用BIGINT。比如现在QQ号已经有11位,很快就12位了。

搜索好久一直没找到好的办法,有人说要装插件,但我看了一下插件很久没更新了。后来看了下mysql_adapter源码找到答案,源码片段如下:

 

# activerecord-3.0.9/lib/active_record/connection_adapters/mysql_adapter.rb
# Maps logical Rails types to MySQL-specific data types.
def type_to_sql(type, limit = nil, precision = nil, scale = nil)
  return super unless type.to_s == 'integer'

  case limit
  when 1; 'tinyint'
  when 2; 'smallint'
  when 3; 'mediumint'
  when nil, 4, 11; 'int(11)'  # compatibility with MySQL default
  when 5..8; 'bigint'
  else raise(ActiveRecordError, "No integer type has byte size #{limit}")
  end
end

 所以我们可以添加:limit => 5/6/7/8来得到一个bigint列。

t.integer :qq, :limit => 8

 如果想设置id为bigint,还要在create_table时传递:id => false,然后手动指定id列。

class CreateDemo < ActiveRecord::Migration
  def self.up
    create_table :demo, :id => false do |t|
      t.integer :id, :limit => 8
    end
  end
end

 

 

===

==

=

I

=

==

===

分享到:
评论

相关推荐

    mongoid_rails_migrations, Mongoid的数据迁移.zip

    mongoid_rails_migrations, Mongoid的数据迁移 发行说明最新版本,1.1. x, 目标 Mongoid&gt; = 4.0.0和 Rails&gt; = 4.2.0.对于 Rails&gt; = 3.2.0和 Mongoid&gt; = 3.0.0,使用版本 1.0.0.

    mongoid_rails_migrations:Mongoid的数据迁移

    gem "mongoid_rails_migrations" 如何使用 创建迁移 $ rails generate mongoid:migration 运行迁移: $ rails db:migrate $ rails db:migrate:down VERSION= $ rails db:migrate:up VERSION= $ rails db:rollback...

    PyPI 官网下载 | fastapi_migrations-0.0.3-py3.8.egg

    fastapi_migrations-0.0.3-py3.8.egg文件就是这样一个包含了fastapi_migrations库的所有必要组件的包,用户可以直接安装到Python环境中使用。 使用fastapi_migrations库,开发者可以轻松地创建、应用和管理数据库...

    weixin_rails_middleware, 微信集成 ruby weixin_rails_middleware for integration weixin..zip

    要在 Rails 项目中使用 `weixin_rails_middleware`,首先需要在 Gemfile 中添加依赖,然后运行 `bundle install`。接着,在 `config/application.rb` 或 `config/environment.rb` 文件中配置微信的 AppID 和 App...

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板.zip

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的..."你可以使用 rails_apps_composer gem 执行以下操作:

    rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器.zip

    rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器 Rails 语义记录器 语义记录器用语义记录器替代 Rails 缺省记录器。http://github.com/rocketjob/rails_semantic_logger文档有关完整文档...

    inspinia admin - v2.5 Rails_Full_Version

    "inspinia admin - v2.5 Rails_Full_Version" 是一个基于Rails框架构建的后台管理系统的完整版本。这个系统采用流行的Inspinia Admin模板,提供了丰富的功能和自定义选项,旨在帮助开发者快速构建高效、现代且用户...

    InspiniaAdmin 2.6.1 Rails_Full_Version

    在Rails_Full_Version压缩包中,包含了完整的源代码和必要的资源文件,开发者可以通过解压并导入到Rails项目中,按照官方文档进行配置和定制。同时,这个版本可能还包含了升级记录、更改日志和可能的bug修复,以保证...

    agile_web_development_with_rails_3rd_edition.9994652073.pdf

    为了确保代码的正确运行,作者建议在使用本书示例代码之前,先检查自己所用的Rails版本是否与书中的版本一致。如果使用的是后续版本,应当查阅作者维护的维基页面,查看是否有任何代码更改的必要。通过执行`rails -v...

    rails_best_practices:Rails项目的代码度量工具

    rails_best_practices ...默认情况下,rails_best_practices将解析vendor , spec , test和features目录中的代码。 排除目录 要排除目录,只需使用-e或--exclude调用: rails_best_practices -e "db/migrate

    与devise_invitable一起使用的自定义rails_admin邀请操.zip

    这个压缩包"与devise_invitable一起使用的自定义rails_admin邀请操.zip"可能包含了实现这一功能的具体代码和配置。 首先,让我们详细了解一下Devise Invitable。这是一个Devise的插件,为用户提供邀请功能。当用户...

    rails_admin_acts_as_list:rails_admin插件以对记录进行排序

    介绍插件,用于对记录进行排序(使用 gem)安装要启用rails_admin_acts_as_list,请将以下内容添加到您的Gemfile : gem 'rails_admin_acts_as_list'gem 'rails_admin' 重要提示: rails_admin_acts_as_list之前必须...

    InspiniaAdmin 2.5 Rails_Seed_Project

    在这个Rails_Seed_Project中,开发者可以找到一个典型的Rails应用结构,包括Gemfile、config.ru、database.yml等核心配置文件,以及models、controllers、views和assets等目录,它们分别对应着业务逻辑、数据操作、...

    inspinia admin - v2.5 Rails_Seed_Project

    本文将详细探讨其在Rails框架下的种子项目(Rails_Seed_Project),旨在帮助开发者更好地理解和运用这一强大的工具。 首先,我们来了解一下“Inspinia Admin”。这是一款基于Bootstrap 3构建的响应式后台模板,提供...

    bhl_rails_solr-源码.rar

    2. **查询接口**:bhl_rails_solr会提供一个简单的查询API,允许开发者使用Solr的查询语法,通过Rails模型直接执行全文搜索和其他复杂的检索操作。 3. **Solr配置**:源码中可能包含针对不同环境(如开发、测试、...

    ruby rails_kindeditor(编译器)插件

    接着,在需要使用富文本编辑器的地方,比如文章或博客的模型中,设置相应的数据库字段类型为 text,并在视图文件中使用 `rails_kindeditor` 提供的 helper 方法来渲染编辑器。 集成过程中,你可能需要关注以下几个...

    Ruby on Rails_ Up and Running

    RUBY的经典之作,对其在RAILS下开发写得很详细

    rails_admin_state:使用state_machine和rails_admin管理模型的状态

    从rails_admin正确管理状态 允许从Rails Admin轻松地将state_machine事件发送到模型,包括对ActiveRecord \ Mongoid和自定义状态字段名称的支持以及每个模型多个状态机的支持。 截屏 正在安装 将此行添加到应用程序...

    rails_admin_content_builder:使用rails_admin创建内容的简单方法

    gem 'rails_admin_content_builder' 运行生成器并进行迁移 rails g rails_admin_content_builder rake db:migrate 在app / assets / application.scss中添加样式 * = require rails_admin_content_builder 用法 ...

    rails_admin_history_rollback:使用paper_trail的rails_admin的历史记录回滚

    安装要启用rails_admin_history_rollback ,请将以下内容添加到您的Gemfile确保将其添加到rails_admin之后: gem 'rails_admin'gem 'rails_admin_history_rollback' 不用说,此插件还需要paper_trail gem。...

Global site tag (gtag.js) - Google Analytics