我的问题是如何找到数据库列的“类型”,文本/字符串之间有什么区别。无论如何我可以找到这个吗?
script/generate scaffold ModelName field1:type field2:type field3:type
or
script/generate scaffold Post title:string body:text category_id:integer
我的问题是如何找到数据库列的“类型”,文本/字符串之间有什么区别。无论如何我可以找到这个吗?
script/generate scaffold ModelName field1:type field2:type field3:type
or
script/generate scaffold Post title:string body:text category_id:integer
这是mysql数据库的列表
:binary blob
:boolean tinyint(1)
:date date
:datetime datetime
:decimal decimal
:float float
:integer int(11)
:string varchar(255)
:text text
:time time
:timestamp datetime
要在 MYSQL 中获取数据库列的类型,请运行:
desc table_name
在 Rails 控制台中,运行 Model.inspect 以获取相应表 attrs 的类型:
Studio.inspect
=> "Studio(id: integer, name: string, subdomain: string, workdays_mask: integer, created_by: integer, created_at: datetime, updated_at: datetime, workhours: text, template_styles: text, contact_info: text)"
底层类型实际上取决于数据库本身(和 Rails db 驱动程序实现),但对于 MySQL:
字符串:VARCHAR 默认长度为 255 - MySQL 默认值 - 除非您提供长度/大小(?)值。
文本:TEXT 或 LONGTEXT ( http://dev.mysql.com/doc/refman/5.0/en/blob.html )