热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用哪个RubyORM更好还是更理想?-WhichRubyORMisbetteroridealtouse?

IamveryveryverynewtoRubylikeonly2daysstudyingthelanguageandwhilestartingmyjourney

I am very very very new to Ruby like only 2 days studying the language and while starting my journey, I ended up deciding to create a training application.

我对Ruby非常陌生,只学习了两天,在开始我的旅程时,我最终决定创建一个培训应用程序。

Since I need a database with the app I had in mind, I stumbled upon on integrating Ruby with Mysql and that's how I found mysql2 gem. However, I am also curious with what Ruby ORM Framework is good to use or start with. I googled and found these ORM Frameworks: Active Record, DataMapper, Sequel

因为我需要一个数据库和我想要的应用程序,我偶然发现了集成Ruby和Mysql,这就是我找到mysql2 gem的方法。然而,我也对Ruby ORM框架的用途和起点感到好奇。我搜索并发现了这些ORM框架:Active Record, DataMapper, Sequel

However I didn't understand very well the advantage of using one from another. Any suggestions?

然而,我不太明白使用其中一种的好处。有什么建议吗?

1 个解决方案

#1


5  

The mysql2 gem is only intended for those writing things like ActiveRecord, DataMapper or Sequel to use, so do not use it directly. It's a low-level driver.

mysql2 gem只用于编写ActiveRecord、DataMapper或Sequel等需要使用的内容,所以不要直接使用它。这是一个低级的司机。

If you're using Rails, use ActiveRecord. If you want something that's organized, follows strong conventions, and don't require a lot of low-level access to the database, use ActiveRecord. It's a great place to start, and a safe default choice.

如果您正在使用Rails,请使用ActiveRecord。如果您想要一些有组织的、遵循严格约定的东西,并且不需要对数据库进行大量低级访问,那么使用ActiveRecord。这是一个很好的起点,也是一个安全的默认选择。

If you want something with more flexibility, use Sequel. It's relatively tricky to use since it doesn't have the same simple packaging as ActiveRecord, but can be helpful for those that want a much thinner layer between themselves and the database. It has a very good query composer and an optional model layer, where ActiveRecord is primarily about models.

如果你想要更灵活的东西,可以使用Sequel。由于它没有ActiveRecord那样的简单封装,所以使用起来比较麻烦,但是对于那些希望在自己和数据库之间建立更薄的层的用户来说,这是很有帮助的。它有一个非常好的查询编写器和一个可选的模型层,ActiveRecord主要是关于模型的。

DataMapper is pretty much defunct and not worth considering. Their newest version only supports Rails 3.1.

DataMapper已经不存在了,不值得考虑。他们最新的版本只支持Rails 3.1。


推荐阅读
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 先看一段错误日志:###Errorqueryingdatabase.Cause:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransie ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有