ruby学习

从数据库开始
假设你已经有一个要开展的工程项目了。要建立一个使用MySQL数据库的Rails应用,使用这个命令
引用
rails -d mysql ProjectName

接着在 ProjectName/config目录中找到database.yml文件,用任意文本编辑器修改它,填入数据库相关信息。该文件的格式是这个样子的:
引用
development:
  adapter: mysql
  encoding: utf8
  database: ProjectName_development
  username: root
  password: 这里填入密码
  host: localhost

设置完数据库信息后,运行以下命令:
引用
rake db:create

这就创建了一个空数据库,要往里加内容(如数据表),只要运行以下命令:
引用
ruby script/generate migration add_table

一个名为001_add_table.rb的数据迁移文件会创建在 ProjectName/db/migrate 目录下。通过该文件可以非常容易地设置工程要使用的数据表。打开该文件,添加所需的内容,如:
引用
class AddTable < ActiveRecord::Migration
    def self.up
create_table :people do |t|
      # id字段会自动添加
      t.column :name,    :string, :limit => 50, :null => false
      t.column :street1, :string, :limit => 70, :null => false
      t.column :street2, :string, :limit => 70, :null => false
      t.column :city,    :string, :limit => 70, :null => false
      t.column :state,   :string, :limit => 2,  :null => false
      t.column :zip,     :string, :limit => 10, :null => false
    end
  end

  def self.down
    drop_table :people
  end
end

注:数据表中会自动创建一个主键(ID)字段,除非你要自定义一个ID字段,否则你不用指定它。

合法的字段类型有以下这些: binary, boolean, date, datetime, decimal, float, integer, string, time, 以及 timestamp。可用的选项有:limit, default, and null. 比方说 :null => false 用来指定该字段不能为空。这非常容易理解。

运行这个命令:
引用
rake db:migrate

运行后,便创建了migration文件中设置的表。
Windows 用户注意事项
如果你使用 My SQL? 4.1,你很可能需要修改服务器安全属性以允许old password方式。请修改 C:\Program Files\MySQL\MySQL Server 4.1 下的@my.ini@ 文件

如果修改了 my.ini 文件仍不能正常运行,则增加一个新的mysql用户,然后修改@database.yml@ 以使用这个新的用户及密码。
注:Windows下的RoR 1.0版本好象存在一个正好与此相反的问题:不支持old-style passwords。那样的话,直接忽略这一步。

另外,config中的database.yml中的空格相当诡异,以下错误就可能是此原因
引用
syntax error on line 22,col2:' host:localhost'

你可能感兴趣的:(mysql,windows,Ruby,ActiveRecord,Rails)