Ruby on Rails迁移用法详解

本文概述

  • 迁移目的
  • 创建迁移文件
  • 编辑代码
  • 运行迁移
迁移是一种以一致且有组织的方式随时间更改数据库架构的方法。他们使用的是Ruby DSL, 无需手工编写SQL。
可以手动编辑SQL片段, 但随后你必须将所做的更改告知其他开发人员, 然后运行它们。你需要跟踪下次部署时需要在生产计算机上运行的更改。
每次迁移都是数据库的新版本。每次迁移都会通过添加或删除表, 列或条目来修改数据库。活动记录将更新你的db / schema.rb文件, 以匹配数据库的最新结构。
迁移目的 在使用之前, 了解迁移的目的很重要。数据库在所有Web应用程序中使用。
通常, SQL语句用于运行数据库查询以创建, 修改, 读取或删除数据库的列。
迁移文件包含一组有关如何创建数据库的特定说明。运行该文件时, Rails将自动在数据库中进行更改。逐渐地, 迁移文件将充当数据库更改方式的版本历史记录。这意味着你将能够从指令集文件中重新创建数据库。
创建迁移文件 创建迁移文件的语法:
application_dir> rails generate migration table_name

这将创建一个名为db / migrate / 001_table_name.rb的文件。迁移文件包含数据库表的基本数据结构。
建议在运行迁移生成器之前, 清理由模型生成器生成的现有迁移。
例:
让我们在应用程序教程中创建一个名为java的迁移。
rails generate migration java

Ruby on Rails迁移用法详解

文章图片
编辑代码 【Ruby on Rails迁移用法详解】转到教程应用程序中的db / migrate目录。在当前文件001_java.rb中写入followig代码,
class Java < ActiveRecord::Migration def self.up create_table :java do |t| t.column :title, :string, :limit => 32, :null => false t.column :fee, :float t.column :duration, :integer t.column :index, :string t.column :created_at, :timestamp end end def self.down drop_table :java end end

在迁移到新版本时使用self.up方法, 并在需要时使用self.down方法回滚所有更改。
运行迁移 创建所有必需的迁移文件后, 你需要执行它们。要针对数据库执行迁移文件, 请运行以下代码:
rake db:migrate

如果不存在, 它将创建一个” schema_info” 表。它跟踪数据库的当前版本。
如果将创建新的迁移, 则它将是数据库的新版本。
Ruby on Rails迁移用法详解

文章图片

    推荐阅读