Articles of mysql

Rails Octopus Gem – 从站关闭时的主从复制连接行为

我正在开发Rails 4.0.2测试这个伟大的gem八达通。 我创建了一个Slave db并配置章鱼如下(config> shards.yml) : octopus: environments: – development replicated: true fully_replicated: true verify_connection: true development: slave1: host: 192.168.1.12 adapter: mysql2 username: slave_reader password: my_password database: my_server_development reconnect: true 它工作得非常好,从Slave读取并写入Master,但是如果My Slave服务器关闭,我希望它重定向到Master db并获取内容,但经过一段时间的尝试后,它会抛出错误: 无法连接到’192.168.1.12’上的MySQL服务器(113) 如果Slave服务器关闭,我该怎么做才能使章鱼查找我的Master数据库? 提前致谢!

创建schema_migrations的Rails – Mysql2 ::错误:指定的键太长了

我正在使用Rails 3.2.6和Mysql 6.0.9(但我在MySQL 5.2.25上有完全相同的错误) 当我创建新数据库( rake db:create )然后当我尝试加载模式( rake schema:load )时,我收到此错误: Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX `unique_schema_migrations` ON `schema_migrations` (`version`) 经过数小时和数小时的研究,我发现了以下解决方 1.将MySQL变量innodb_large_prefix更改为true(或ON) 这没用。 我在我的Linux服务器,我的Mac甚至Windows上试过它 – 它只是不起作用。 2. Monkeypatch ActiveRecord :: SchemaMigration.create_table 我不需要version列长度​​为255(当它是UTF-8时,它需要4 * 255 = 1020字节并且超过了密钥的767字节的MySQL限制)。 我也不需要它是UTF-8,但DB中的所有其他表都是UTF-8,我已将utf8_czech_ci设置为默认排序规则。 实际创建schema_migrations表的方法如下所示: def self.create_table unless connection.table_exists?(table_name) connection.create_table(table_name, :id => […]

帮助设置Ruby on Rails和MySQL – 提供奖励

我迫切需要任何慈善的ruby/铁路专家的帮助。 我真的想学习RoR,但我无法到达任何地方,因为每次我到达需要连接到数据库的阶段时,都会搞砸了。 这就是我现在要做的事情。 [Mac OSX 10.6.6 – Ruby 1.9.2 – Rails 3.0.5 – MySQL 5.5.10] 所有这些都是最新版本,新安装,运行顺畅。 我也安装了rvm。 我想知道的是如何使用MySQL数据库建立一个新的Rails项目并正确连接到它。 我花了无数个小时谷歌搜索并在错误后出错后收到错误。 任何人都可以通过逐步概述如何让一个工作的rails项目连接到mysql数据库来帮助我吗? 如果有人能帮助我,我将不仅仅欠你我的生命,而且我将为你免费制作精彩的网页和界面设计,并/或作为UI设计师在你的下一个项目上进行合作。 我还将为您提供免费的photoshop / graphics建议。 我想学习如此糟糕的rails,但我现在正处于这个文件配置的东西,并浪费了大量的时间。 请帮忙!

Rails 3和mysql主从复制

想在rails app中设置mysql主从复制。 是否有适用于Rails 3的插件/数据库适配器? Masochism插件是否适用于rails 3?

列出特定日期的可用用户

我正在寻找预订系统,我需要在特定的日期/时间显示所有可用的用户。 考虑一下,我打算建立一个表格来记录人们何时不可用,并假设它们是可用的。 我想到的结构是记录date_start何时不可用,然后是date_end。 现在问题出现在我正在尝试预订会议时,如果我想在星期二11:00到13:00预订一些东西我需要获取那些可用的人员列表,即没有任何人在那段时间预订的假期。 任何想法或想法? 如果这有助于/阻碍任何人的想法,我将使用Ruby on Rails。

哪个是Rails应用程序的最佳数据库?

我正在开发一个Rails应用程序,它将访问许多RSS提要或抓取网站以获取数据(主要是新闻)。 它会像谷歌新闻一样,但采用不同的方法,所以我会存储很多新闻(或新闻摘要),将它们分类到不同的类别,并使用排名和推荐技巧。 我应该使用MySQL吗? 是否值得使用IBM DB2 purexml存储doucuments? 如果我选择DB2,也不需要Ruby搜索实现(Ferret,Ultrasphinx等)。 那是对的吗? PostreSQL在这方面有什么优势? 在这种情况下使用Couch DB是否有意义? 我想选择最好的选择,但不要过度复杂化解决方案。 所以我放弃了使用两种不同存储解决方案的想法(一种用于新闻文档,另一种用于其他数据)。 我也只考虑“免费”选项,所以我没看过Oracle或MS SQL Server。 提前致谢。

Rails 3 – 突然发生的迁移错误

我突然遇到一个奇怪的错误。 当我尝试运行rake spec我收到: You have 2 pending migrations: 20130405105004 CreateReports 20130405113839 AddDocumentToReports 我不知道原因(我过去运行迁移所以我在数据库和schema.rb中有数据)。 这是rake spec –trace : ** Invoke spec (first_time) ** Invoke test:prepare (first_time) ** Invoke db:test:prepare (first_time) ** Invoke db:abort_if_pending_migrations (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute db:abort_if_pending_migrations You have 2 pending migrations: 20130405105004 CreateReports 20130405113839 AddDocumentToReports Run “rake db:migrate” […]

当我使用find_by_sql别名时,我感到困惑

我正在使用RoR和mysql数据库。 我想将timestamp列转换为字符串,所以我有SQL: @books = Book.find_by_sql(“select id, name, date_format(borrow_date, ‘%m/%d/%Y’) borrow_date from books”) @books[0].borrow_date => ‘Sun, 03 Aug 2014 17:00:00 PDT -07:00′ 当我输出像@books [0] .borrow_date这样的borrow_date时,我得到了未格式化的字符串’Sun,2014年8月3日17:00:00 PDT -07:00’,这是不可取的。 我想要“08/03/2014” 如果我更改了不同于列名的别名,我会获得预期的数据字符串。 @books = Book.find_by_sql(“select id, name, date_format(borrow_date, ‘%m/%d/%Y’) borrow_date_other from books”) @books[0].borrow_date_other => “08/03/2014” 我不想在ruby代码中格式化日期字符串,因为我需要从oracle数据库中提取相同的数据,并且只想在使用前转换为字符串。 为什么RoR不允许相同的列名和别名? 我错过了什么吗? 先感谢您。

ActiveRecord查询:按所包含模型的总和排序

项目has_many:项目 项目belongs_to:项目 我正在尝试按各自项目的总价格对项目进行排序。 就像是: Project.includes(:items).order(‘SUM(items.price)’) 使用此代码,ActiveRecord仅返回第一个项目。 我错过了什么?

在ubuntu上运行mysql gem问题

Ruby on Rails:我想在localhost上调用一个控制器,但服务器说!!! 缺少mysql gem。 将它添加到您的Gemfile:gem’mysql’,’2.8.1′ 问题 ? 当我点击’gem list’命令然后我得到一个列表女巫包含mysql 2.8.1。 所以gem是安装的! 为什么不能通过webrick看到它? 谢谢。