Tag: mysql

乘客错误“库未加载”

从Passenger获取此错误(使用Apache)。 不知道这意味着什么…… dlopen(/path/to/myapp/shared/bundle/ruby/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/mysql/lib/libmysqlclient.16.dylib Referenced from: /path/to/myapp/shared/bundle/ruby/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle Reason: image not found – /path/to/myapp/shared/bundle/ruby/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle 安装的Ruby实际上是1.9.2,但无论出于何种原因,gem都在这条“1.9.1”路径中…… 它可能与我使用mysql2 gem而不是mysql的事实有关吗? 或者,它可能与第二行“ 未加载库 ”有什么关系,看起来它可能正在尝试加载错误的libmysqlclient.16.dylib ? 由于路径/usr/local/mysql指向未运行的mysql版本。 正在运行的mysql版本位于/usr/bin/ 。 我试着改变这个,但我不知道怎么做!?!

MAMP mySQL Snow Leopard中的Ruby On Rails

我正在尝试找到在MAMP服务器上运行Ruby on Rails并使用MAMP的mySQL数据库的分步说明。 我也在雪豹上。 我已经阅读了Hivelogic关于此的文章,但我真的不想编译rails,ruby和mySQL。 任何人都有任何建议

如何使用不同的表名在rails迁移中添加外键

如何通过添加外键来指定不同的表名。 例如 我有一个像这样的模特 class MyPost < ActiveRecord::Base has_many :comments, class_name: PostComment end class PostComment < ActiveRecord::Base belongs_to :post, class_name: MyPost end 现在我想改变我的迁移文件,如下所示: class CreatePostComments MyPost end end 但它没有用。 迁移正在取消。 如何更改我的迁移文件以使用我的模型结构。

使用MAMP 2.2在Mac上“gem install mysql2”

当我尝试在我当前的目录(这是一个新的rails项目)中运行rails server时,它说我需要安装mysql2 gem。 起初,我不知道这意味着什么……然后,我做了一些戳,最后决定安装gem。 但是,我得到了这个超级麻烦的错误(因为我只花了2个小时试图调查,并解决了另一个错误)。 我正处于放弃的边缘,但我真的想试试铁轨。 请帮忙! 目前,如果我运行sudo gem install mysql2 ,或者甚至有些人告诉我在线做, gem install mysql — \ –with-mysql-config=/Applications/MAMP/Library/bin/mysql_config (我有MAMP) ,它给我以下错误: Building native extensions. This could take a while… ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. /Users/vicky/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for ruby/thread.h… yes checking for rb_thread_call_without_gvl() in ruby/thread.h… yes checking for rb_thread_blocking_region()… yes […]

运行rails测试套件时,MySql中出现“非法混合排序”错误

我最近拂去了我的一个旧的Ruby on Rails项目。 在过去,我从来没有遇到任何问题通过所有测试,但现在有一个测试,给我以下错误: ActiveRecord :: StatementInvalid:Mysql :: Error:#HY000非法混合排序(latin1_swedish_ci,IMPLICIT)和(utf8_general_ci,COERCIBLE)操作’=’:SELECT * FROM cards WHERE(cards.l1_description =’是’AND cards.l2_word = ”) 所以我去我的测试数据库并询问: mysql> use flashcard_test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show full columns from cards; +—————-+————–+——————-+——+—–+———+—————-+———————————+———+ | Field […]

Mysql结果按列表排序,每个用户都是唯一的

我有一个包含数千种产品和50个左右经过身份validation的用户的表。 这些用户都在自己的网站上展示产品,他们都需要能够以不同的方式订购产品。 我猜我需要一些包含product_id,user_id和order列的订单的单独表格? 我如何在mysql中最有效地执行此操作以便非常快速,并且如果我在数据库中获得数百万个产品,则不会减慢速度。 在mysql中执行它是否明智,或者我应该使用某种其他索引,如solr / lucene? 我的产品表称为“产品”我的用户表称为“用户” 我需要的function的一个很好的例子是谷歌搜索,如果您已登录,您可以在其中订购/抑制结果。 编辑:产品结果将被分页,用户有权编辑产品,因此它不仅仅是准备好的

Sqlite3 vs Postgres vs Mysql – Rails

我想这已经提出了很多次,但我再次提起它! 无论如何……在Ruby on Rails中,Sqlite3已经设置好了,不需要额外的拾取和切片,但是……在这里和其他地方经过多次阅读之后,有人说它不具有可扩展性,而另一些人则认为它实际上非常擅长。 有人说MySQL对于更大的项目要好得多,而另一些人则认为,只需要使用PostgreSQL。 我很想听听你对此的看法。 在两个场景中。 您正在为新闻发布网站(例如CNN新闻)开设一个小网站,以及您正在创建类似于Twitter的网站的另一个场景?

请求卡在ActiveRecord :: QueryCache中间件中

在部署我们的Rails应用程序(4.0.9,Ruby 2.1.2)之后,我们注意到我们的应用程序的请求会在一段时间后挂起,通常是1天左右。 使用gem rack_timer ,我们能够找到被困在ActiveRecord :: QueryCache中间件的请求。 Rack Timer (incoming) — ActiveRecord::QueryCache: 925626.7731189728 ms 删除后,我们的应用程序似乎恢复正常。 但是,我理解这个中间件的目的是提高性能,因此删除只是一个临时解决方案。 我们使用mysql(5.1.67)和适配器mysql2 (0.3.13) 更新:发布此问题后,服务器再次开始挂起,这次请求被卡在ActionDispatch :: Routing :: RouteSet I, [2014-10-13T23:17:03.661346 #32498] INFO — : Rack Timer (Application Action) — ActionDispatch::Routing::RouteSet: 3667661.2360477448 ms I, [2014-10-13T23:17:03.661946 #32498] INFO — : Rack Timer (Application Action) — ActionDispatch::Routing::RouteSet: 4373914.719343185 ms 你知道任何理由可能导致这种情况吗? 先感谢您。

Ruby的has_header方法在哪里查找头文件?

在CentOS 5.7的盒子里,我在安装最新版本的mysql2 gem时遇到了麻烦; 它找不到errmsg.h: /usr/bin/ruby extconf.rb checking for rb_thread_blocking_region()… yes checking for rb_wait_for_single_fd()… no checking for mysql_query() in -lmysqlclient… yes checking for mysql.h… no checking for mysql/mysql.h… yes checking for errmsg.h… no —– errmsg.h is missing. please check your installation of mysql and try again. —– *** extconf.rb failed *** mysql头文件存在于/ usr / include / […]

如何在Ruby on Rails 3中的MySQL表列上定义“唯一”约束?

我有一个简单的MySQL表,其中包含一列: name 。 我想在此列上定义一个唯一约束。 我可以: class MyModel < ActiveRecord::Base validates_uniqueness_of :my_column_name end 但它只能在应用程序级别工作,而不能在数据库级别工作。 你会建议什么?