rails 的数据库小结

好久没有写博客了,监督一下自己

由于接触rails时间不久,接触之前数据库的基础为零,遇到数据库的问题总是很蛋疼。今天总结一下rails数据库的一些小问题(ubuntu14.04   rails 4.4.2    ruby 2.2.0   rubymine7.0   mysql)

1,rails 命令修改数据库(比较复杂的话)

rails g migrataion ChangeForUsers;

在db/migrate中会生成一个新的rb文件,然后修改里面的内容,有如下方法:

remove_column :删除字段
rename_column  :更改字段的名称

change_column  :修改字段的类型
add_column :增加字段

 

例如:

 

2.在新建的rb文件中写入如下内容:

rails g migrataion ChangeForUsers;
class ChangeForUsers < ActiveRecord::Migration
  def change
    add_column :users,:password,:string        #添加password字段
    ... 
    ...
  end
end

最后rake db:migrate即可

修改的比较少的话:

rails g migration add_avatar_to_users avatar:string
rake db:migrate

这样就可以了

其实rubymine里面有database非常好用

view  =>  database进入数据库

建立mysql连接后可以直接在database里进行数据库的所有操作,非常方便。在里面修改之后会自动同步到你的数据库里,可以在database修改完数据后在终端进入mysql看看。数据是同步的,不用敲麻烦的数据库命令了。

在rails项目中使用mysql数据库:

rails new 项目名称 -d mysql

还有数据库的一些基本操作:

1、net start mysql //启动mysql服务 
2、net stop mysql //停止mysql服务  
3、quit //退出mysql操作 
4、mysqladmin -u用户名 -p旧密码 password 新密码 //更改密码 
5、grant select on 数据库.* to 用户名@登录主机 identified by "密码" //增加新用户 
 
例:

增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MYSQL主机上的web页来访问了。

 
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; 


如果你不想test2有密码,可以再打一个命令将密码消掉。 


grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; 

数据库操作:

1、show databases; //列出数据库 
2、use database_name //使用database_name数据库 
3、create database data_name //创建名为data_name的数据库 
4、drop database data_name //删除一个名为data_name的数据库

猜你喜欢

转载自619060342.iteye.com/blog/2209772
今日推荐