Ruby on Rails 迁移2024 年 12 月 18 日 | 2 分钟阅读 迁移是一种以一致且有组织的方式随时间更改数据库模式的方法。它们使用 Ruby DSL,因此无需手动编写 SQL。 可以手动编辑 SQL 片段,但之后您必须告知其他开发人员您所做的更改,然后运行它们。您需要跟踪下次部署时需要在生产机器上运行的更改。 每个迁移都是数据库的一个新版本。每个迁移通过添加或删除表、列或条目来修改数据库。Active record 将更新您的 db/schema.rb 文件,以匹配数据库的最新结构。 迁移的目的在使用迁移之前,了解迁移的目的是很重要的。数据库用于所有 Web 应用程序。 通常,SQL 语句用于运行数据库查询,以创建、修改、读取或删除数据库的列。 迁移文件包含一组特定的指令,说明应如何创建数据库。当运行此文件时,Rails 将自动更改数据库。 逐渐地,迁移文件将充当数据库如何更改的版本化历史记录。这意味着您将能够从这组指令文件重新创建数据库。 创建迁移文件创建迁移文件的语法 这将创建一个名为 db/migrate/001_table_name.rb 的文件。 迁移文件包含数据库表的基本数据结构。 建议在运行迁移生成器之前,清除模型生成器生成的现有迁移。 示例 让我们在应用程序tutorials中创建一个名为 java 的迁移。 ![]() 编辑代码转到 tutorials 应用程序中的 db/migrate 目录。在当前文件 001_java.rb 中写入以下代码: 在迁移到新版本时使用方法 self.up,在需要回滚任何更改时使用 self.down。 运行迁移创建所有必需的迁移文件后,您需要执行它们。要针对数据库执行迁移文件,请运行以下代码: 如果 "schema_info" 表不存在,它将创建该表。它跟踪数据库的当前版本。 如果创建新的迁移,那么它将是数据库的一个新版本。 ![]() |
我们请求您订阅我们的新闻通讯以获取最新更新。