MySQL代码的等效RoR代码

时间:2012-01-09 12:18:43

标签: ruby-on-rails ruby-on-rails-3 activerecord activemodel

有时候我在MySQL中用这些语句创建了数据库和表:

CREATE DATABASE amiref;
USE amiref;
CREATE TABLE refoo
(
  f1 VARCHAR(20) ,
  f2 VARCHAR(30) NOT NULL ,
  f3 INT ,
  PRIMARY KEY(f1)
);
CREATE TABLE IF NOT EXISTS users
(
  user_id1 VARCHAR(20) NOT NULL ,
  user_id2 VARCHAR(50) ,
  password VARCHAR(30) ,
  email VARCHAR(50) ,
  PRIMARY KEY(user_id1,user_id2)
);

知道我想在带有模型的轨道上的ruby中创建那些数据库和表。我该怎么做? 请帮我。 感谢

1 个答案:

答案 0 :(得分:2)

您可以使用迁移执行此操作。这是一个真正基本的东西,你应该从头开始学习它!您可以在这里找到文档:

http://guides.rubyonrails.org/migrations.html

使用scaffolder创建模型时包含迁移=> http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding

//也增加你的加速率!

迁移的一个例子:

创建migration =>

rails g migration testMigration

然后你会在db/migrate中找到迁移。要创建表,请添加:

create_table :table_name do |f|
     f.integer :integer_column1
     f.string :string_column1, :string_column2
     f.boolean :boolean_column1
end

然后运行迁移

bundle exec rake db:migrate