当前位置:  开发笔记 > 后端 > 正文

Rails框架创建的db表是什么样的?

如何解决《Rails框架创建的db表是什么样的?》经验,为你挑选了2个好方法。

我没有设置Rails环境,实际上很难找到快速的答案,所以我会问专家.

当Rails根据您设置的"模型"创建一个表时,Rails是否创建了一个完全镜像该模型的表,或者它是否在表中添加了更多字段以帮助它发挥其魔力?如果是这样,它会添加哪些其他字段以及为什么?也许你可以剪切和粘贴表结构,或者只是指向一个解决这个问题的doc或tutorial部分.



1> Mike Woodhou..:

如果您正在构建一个全新的应用程序,包括一个新的数据库,那么您可以使用迁移构建整个后端.运行

ruby script/generate model User name:string

生成模型的user.rb文件和迁移:

class CreateUsers < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.string :name

      t.timestamps
    end
  end

  def self.down
    drop_table :users
  end
end

您可以看到,默认情况下,生成脚本为(创建和上次更新)添加"时间戳",如果允许它们保持存在,则会自动管理它们.

不可见,但重要的是,创建一个额外的列"id"作为单个主键.但这并不是类似的 - 您可以在模型中指定自己的主键,这在您使用旧架构时非常有用.假设您将id保留为密钥,那么Rails将使用可用于新密钥值的任何特定于RDBMS的功能.



2> Brad Wilson..:

在ActiveRecord中,模型是从数据库表创建的,而不是相反.

您可能还想查看迁移,这是一种从Ruby代码描述和创建数据库的方法.但是,迁移与模型无关; 模型仍然是在运行时根据数据库的形状创建的.

在Rails网站上有与ActiveRecord和Migrations相关的截屏视频:http://www.rubyonrails.org/screencasts

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有