仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 548|回复: 8
打印 上一主题 下一主题

[学习教程] 来看Rails开辟细节(五)Migrations 数据迁徙

[复制链接]
飘灵儿 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:01:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
1.简介
在rails顶用migration能够很便利的办理数据库的布局。能够创立数据库,创立表,删除表,增加字段,删除字段,收拾数据。
migration就是一系列的class,这些类都承继了ActiveRecord::Migration类。
  1. classCreateProducts<ActiveRecord::Migration
  2. defup
  3. create_table:productsdo|t|
  4. t.string:name
  5. t.column:description,:text
  6. t.timestamps
  7. end
  8. end
  9. defdown
  10. drop_table:products
  11. end
  12. end
复制代码
下面就是一个migration例子。up办法中的代码会在
rakedb:migrate
以后实行。
down办法中的代码会在
rakedb:rollback
以后实行。
t.timestamps会主动发生created_at和updated_at列。
还能够举行表布局修正。
  1. classAddReceiveNewsletterToUsers<ActiveRecord::Migration
  2. defup
  3. change_table:usersdo|t|
  4. t.boolean:receive_newsletter,:default=>false
  5. end
  6. User.update_all["receive_newsletter=?",true]
  7. end
  8. defdown
  9. remove_column:users,:receive_newsletter
  10. end
  11. end
复制代码
rails3.1以后发生了一个新的办法change,次要用来创立表和列,不必写一对up和down了,利用rakedb:rollback回滚的时分数据库不必down办法也晓得怎样做了。
1.1.migration供应了良多的办法
add_column
add_index
change_column
change_table
create_table
drop_table
remove_column
remove_index
rename_column
假如想回滚migration对数据库酿成的改动,可使用rakedb:rollback命令。
1.2.ActiveRecord撑持的列范例
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:primary_key
:string
:text
:time
:timestamp
<p>
主要缺点就是:速度比较慢,没有C和C++快
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-20 12:47:30 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
小魔女 该用户已被删除
板凳
发表于 2015-1-31 21:40:29 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
因胸联盟 该用户已被删除
地板
发表于 2015-2-1 07:48:47 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
莫相离 该用户已被删除
5#
发表于 2015-2-7 01:41:04 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
老尸 该用户已被删除
6#
发表于 2015-2-19 11:35:58 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
只想知道 该用户已被删除
7#
发表于 2015-3-6 14:47:20 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
再见西城 该用户已被删除
8#
发表于 2015-3-13 02:09:05 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
小妖女 该用户已被删除
9#
发表于 2015-3-20 09:57:23 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 05:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表