Rails 数据库学习笔记

大家都知道Rails框架的强大、简单和优雅,所以闲话不多说,总结一下最近学习到用到的Rails在数据库上的一些基本操作方法。


1. 在Rails项目中实现多个数据库的连接

在rails项目中通常会设置development、test和production三种环境,分别对应我们开发、测试和正式的三种环境。

在项目的数据库配置中通常也会设置三种环境下的数据库连接,如在我们的database.yml中:

development:
  adapter: mysql2
  encoding: utf8
  host: localhost
  reconnect: false
  database: devlopment
  username: root
  password: mysql

test:
  adapter:......

production:
  adapter:.......

但在开发过程中如果需要用到其他数据库,如another_db中的数据,只需这样:

another_db:

  adapter: mysql2
  encoding: utf8
  host: localhost
  reconnect: false
  database: another
  username: root
  password: mysql

假设在项目中有一个叫做user的model需要连接到这个数据库,那么除了像这样的初始化:

#RAILSROOT/app/models/user.rb

class User < ActiveRecord::Base 
end

需要增加这样一行代码:

establish_connection :another_db

我们的user model的增删改查等操作都会作用到another_db上

2. Rails model 操作命令

新建model:

Rails g model ModelName  Field1:field_type   Field2:field_type    Field3:field_type    Field4:field_type......

在已有的model中添加新的field:

rails generate migration AddColumeToTable colume:type

删除model中已有的field:

rails generate migration RemoveColumeFromTable colume:type

重命名model中的某个field,如将某个model中的某列point重命名为points,则首先使用:

rails g RenamePointToPoints

生成一个类似20****_rename_point_to_points.rb的文件,然后分别在up和down方法中作如下处理:

class RenamePointToPoints < ActiveRecord::Migration
  def up
  	rename_column :model_name, :point, :points
  end

  def down
  	rename_column :model_name, :points, :point
  end
end

你可能感兴趣的:(数据库,Ruby)