`
gift5168xf
  • 浏览: 28988 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ruby迁移任务基础

    博客分类:
  • ROR
阅读更多

1 运行迁移任务

Rake db:migrate

数据库中 schema_info 表记录 version 的当前版本信息如: 20081230025725

2 字段类型

通过迁移任务可以把任务中的程序数据类型转换成数据库相对应的类型

类型包括: binary boolean date datetime decimal float integer string text time timeestamp

增加字段: add_column:orders( 表名 ) , :e_mail( 字段名 )

:string( 字段类型 ) :null=>false, :limit=>100, :default=>’priority’

Null 字段:值为 false not null

Limit 字段:设置字段大小限制

Default 字段:设置字段的默认值

3 字段改名

rename_column :orders( 表名 ) , :e_mail( 被改字段名 ) :customer_email( 修改名字字段 )

4 修改字段

Change_column :orders( 表名 ) :order_type( 字段名 ) :string( 最终类型 ) :null=>

5 表的管理

1 表的创建

create_table :order_histories do |t|

t.integer :order_id, :null => false

t.text :notes

t.timestamps 注:两个颜色部分的内容必不可少

2 表的重命名

rename_table :order_histories( 被修改的表名 ) , :order_notes( 要修改的表名 )

为保证迁移任务能够运行,保证如果在建表时还没有表对应的类,应

在迁移任务中首先定义一个类来站位,以保证迁移任务不会出错。

6 定义索引

Add_index :orders( 表名 ) , :name( 索引所放位置 ) 移除: remove_index ……..

若加入参数 :unique=>true 表示被索引字段值必须唯一

注:移除索引时也必须加入字段名

7 主键

改变主键名称:在建立表的时候改变

create_table :tickets, :primary_key=>number do |t|

其他属性不变,不需加入新改变的主键属性

End

没有主键的表:

create_table :authors_books :id=>false do |t|

……

8 在迁移任务中加载数据

模型 .create(: 属性 => 值,属性 => ) 注: create 相当于模型 .new().save

9 从夹具中转载数据(略)

首先创建夹具文件:在 migration 下建立文件夹,在文件夹中建立数据文件 .yml

Yml 数据的格式为:

……

0
0
分享到:
评论

相关推荐

    Ruby-迁移SSDB到RedisPika工具集Ruby实现

    在IT行业中,数据库的迁移是一项常见的任务,尤其是在不断发展的技术环境中。本篇文章将详细探讨一个特定的工具集,即使用Ruby语言实现的“SSDB到Redis/Pika”的迁移工具,标题为“Ruby-迁移SSDB到RedisPika工具集...

    Ruby中任务构建工具rake的入门学习教程

    下面将详细介绍Rake的基础知识,包括任务的创建、命名空间和默认任务的设定。 首先,Rake允许开发者定义任务,这些任务可以是有独立功能的代码块。在Rakefile中,你可以创建一个简单的任务,如: ```ruby task :...

    ruby on rails基础知识

    ### Ruby on Rails基础知识详解 #### 一、Rails简介与安装 **Rails** 是一款流行的开源Web应用框架,基于Ruby语言编写。它强调简洁性、生产力和优雅的设计,非常适合快速开发Web应用。 - **特点** - **DRY (Don'...

    ruby学习的源码

    - Rake:Ruby的Make工具,用于执行脚本任务,如数据库迁移、测试等。 - Rails Console:交互式命令行工具,方便开发者在运行时检查和修改应用程序状态。 4. **Rails开发流程**: - 新建项目:使用`rails new`...

    Ruby新手学习书(Ruby语言中文教程)和Rails_4_days

    通过这些资源,初学者可以在短时间内建立起对Ruby语言和Rails框架的基本理解,并逐步进阶到更复杂的开发任务。记得理论学习与实践相结合,不断编写代码和调试,是提升技能的最好方式。祝你在Ruby的世界里探索愉快!

    Ruby教程.chm和Ruby程序设计.doc

    另外,Ruby的标准库非常丰富,提供了大量的工具和模块,可以帮助开发者处理各种任务。例如,Net::HTTP模块用于网络请求,CSV处理逗号分隔值文件,JSON模块解析和生成JSON数据,等等。 在实践过程中,掌握版本控制...

    yangbinfx的博客文章-ruby部分备份

    2. **Ruby代码小计**:这里可能涵盖了Ruby编程的基础和进阶技巧,如变量、数据类型、控制流、方法定义以及面向对象特性,如继承、封装和多态等。 3. **Rails页面技巧**:这部分可能涉及了如何在Rails中创建、布局、...

    Ruby-Padrino一个构建在Sinatra上的全堆栈ruby框架

    5. **内置命令行工具**:Padrino提供了一套强大的命令行工具,用于快速初始化项目、生成模型、控制器和迁移,以及执行其他常见的开发任务。 6. **测试框架集成**:Padrino与RSpec、Test::Unit等测试框架紧密集成,...

    Ruby on Rails Web开发学习实录随书光盘(源代码).

    7. **Rake任务**:Rails自带的命令行工具,用于执行各种任务,如数据库迁移、测试等。 8. **Testing**:Rails鼓励TDD(测试驱动开发),提供了RSpec、MiniTest等测试框架,便于编写单元测试和集成测试。 9. **...

    ruby 入门练习上手项目

    10. `Rakefile`:定义自动化任务,比如数据库迁移。 11. `README.md`:项目简介和指南。 通过这个项目,新手可以了解Rails的目录结构,学习如何创建控制器、视图和模型,以及如何使用Rails的路由系统。此外,还会...

    Ruby的概要介绍与分析

    Rails是一个基于Ruby语言的全栈式Web开发框架,它遵循“约定优于配置”的设计理念,简化了许多常见的开发任务,如数据库交互、用户认证、路由管理等。Rails框架采用MVC(模型-视图-控制器)架构模式,将业务逻辑、...

    Ruby-GoogleCloud官方的Ruby客户端开发包

    这极大地简化了数据库管理任务,无需关心底层基础设施的运维。 Google Cloud BigQuery服务也得到了很好的支持。这是一个用于大数据分析的服务,能够处理PB级别的数据。Ruby开发者可以使用此开发包编写查询,获取...

    Ruby-RailsChat是一款由Rails开发的实时Web聊天室

    8. `Rakefile`:包含Rake任务,用于自动化任务执行。 9. `README.md`:项目说明文件。 **即时通讯技术** 在RailsChat中,即时通讯可能通过以下技术实现: - **ActionCable**:Rails的默认实时通信解决方案,结合...

    Ruby-Capistrano基于RubyRake和SSH构建的部署自动化工具

    Ruby:基础语言** Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而闻名。Capistrano充分利用了Ruby的这些特性,使得编写部署脚本变得直观且易于维护。 **2. Rake:任务管理...

    Ruby入门培训ppt/pdf及代码

    **Ruby入门培训** ...通过深入学习以上知识点,初学者将能够掌握Ruby的基础,并逐步进阶到更高级的开发技能。在实际项目中,结合使用Ruby的工具和库,能够提升开发效率,创建出高效且易于维护的软件系统。

    Ruby学习思维导图.pdf

    - **常用 Rake 任务**:如 `rake db:migrate` 用于数据库迁移。 **7.3 版本管理** - **RVM**:Ruby 版本管理器。 - **rbenv**:轻量级的 Ruby 版本管理工具。 #### 八、社区和资源 **8.1 文档** - **Ruby 官方...

    <<Ruby for Rails中文版>>源代码

    - `rake`:Rails的内置任务执行器,通常用于运行数据库迁移、测试等。 4. **数据库与迁移**:Rails使用ActiveRecord处理数据库操作,通过迁移文件(`.rb`文件)来管理数据库结构的变化。`db:migrate`命令用于执行...

    ruby on rails合集

    Rake工具则提供了任务自动化,可以执行数据库迁移、构建或者清理任务。 Ruby on Rails的社区非常活跃,拥有丰富的插件和gem(Ruby的库包),如Devise用于身份验证,CanCanCan进行权限管理,Carrierwave或Paperclip...

    wrox Professional Ruby on Rails_code.zip

    Ruby语言是本书的基础,它是一门动态、面向对象的脚本语言,以其简洁、优雅的语法著称。Ruby强调代码的可读性和表达性,使得开发者能够快速地编写出易于理解的代码。在Rails中,Ruby被用来定义模型、控制器和视图,...

    Ruby on Rails基础之新建项目

    Ruby on Rails 目录结构 + app/ #控制器、模型、视图、帮助方法、邮件、静态资源 + bin/ #rails脚本 + config/ #路由、数据库等 + db/ #数据库模式、迁移文件 + lib/ #扩展模块 + log/ #日志 + public/ #公共资源 ...

Global site tag (gtag.js) - Google Analytics