我没有设置Rails环境,实际上很难找到快速的答案,所以我会问专家.
当Rails根据您设置的"模型"创建一个表时,Rails是否创建了一个完全镜像该模型的表,或者它是否在表中添加了更多字段以帮助它发挥其魔力?如果是这样,它会添加哪些其他字段以及为什么?也许你可以剪切和粘贴表结构,或者只是指向一个解决这个问题的doc或tutorial部分.
如果您正在构建一个全新的应用程序,包括一个新的数据库,那么您可以使用迁移构建整个后端.运行
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的功能.
在ActiveRecord中,模型是从数据库表创建的,而不是相反.
您可能还想查看迁移,这是一种从Ruby代码描述和创建数据库的方法.但是,迁移与模型无关; 模型仍然是在运行时根据数据库的形状创建的.
在Rails网站上有与ActiveRecord和Migrations相关的截屏视频:http://www.rubyonrails.org/screencasts