- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是一名新的 Rails 开发人员,我正在开发旧版 Rails 应用程序。每当我运行 rake db:create 命令时,我都会收到无法创建数据库的错误消息。我发现了许多与此相关的 StackOverflow 问题,但在对几乎所有解决方案排列进行故障排除时,我无法解决问题。
我创建了三个数据库(开发、生产、测试),创建了对这些数据库具有所有访问权限的用户,然后运行了 rake db:create
。
我正在运行 Mac OS X Lion、MySQL 5.5.28、Rails 2.3.5、Ruby 1.8.7。这是我的设置
development:
adapter: mysql
encoding: utf8
database: adva_development
username: adva
password: ****
host: localhost
socket: /tmp/mysql.sock
这是错误:
Couldn't create database for {"adapter"=>"mysql", "username"=>"adva", "host"=>"localhost", "encoding"=>"utf8", "database"=>"adva_development", "socket"=>"/tmp/mysql.sock", "password"=>"****"}, charset: utf8, collation: utf8_unicode_ci (if you set the charset manually, make sure you have a matching collation)
我已完成以下故障排除:
已验证用户和密码正确,并且用户可以访问数据库。 (使用 SELECT * FROM mysql.db WHERE Db = 'adva_development'\G;
双重检查用户访问权限。)
验证套接字是否正确。我不太了解套接字,但我可以在/tmp/mysql.sock 中清楚地看到它。
检查排序规则和字符集。我发现我已经用拉丁字符集和排序规则创建了数据库,所以我重新创建了它们。我运行了 show variables like "collation_database";
和 show variables like "character_set_database";
并分别返回了 utf8 和 utf8_unicode_ci。
我按照 this question 中的说明进行操作.卸载 mysql gem 后,我运行了以下命令,但出现了同样的错误:
gem install --no-rdoc --no-ri mysql -- --with-mysql-dir=/usr/local/mysql-5.5.28-osx10.6-x86_64/bin --with-mysql-config=/usr/local/mysql-5.5.28-osx10.6-x86_64/bin/mysql_config
按照 Matt 的建议,下面是 rake --trace db:create
揭示的内容:
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:create
Couldn't create database for {"database"=>"adva_development", "adapter"=>"mysql", "host"=>"127.0.0.1", "password"=>"woof2adva", "username"=>"adva", "encoding"=>"utf8"}, charset: utf8, collation: utf8_unicode_ci (if you set the charset manually, make sure you have a matching collation)
3 天零六七个小时后,我几乎没有选择了。我尝试了各种随机操作,例如用 127.0.0.1 替换 localhost 都无济于事。
会不会是我的具体环境出了问题? Mac OS X Lion + MySQL 5.5.28?我计划尝试在 Linux 环境中设置所有内容。
谢谢!
最佳答案
您可以尝试将 localhost 更改为 127.0.0.1
并删除 socket
以使用 TCP/IP 而不是本地套接字。
或者尝试验证您的数据库服务器是否使用与 Rails 相同的套接字:
mysqladmin 变量 | grep 套接字
如果这没有帮助,则尝试使用纯 Ruby 连接到数据库服务器并创建一个新数据库:
require 'rubygems'
require 'mysql'
begin
db = Mysql.new('localhost', 'root', 'yourpassword')
db.query('create database sample_database;');
rescue Mysql::Error => e
puts e
ensure
db.close unless db.nil?
end
然后看看它是否运行。你应该安装 mysql gem (gem install mysql
)
关于mysql - rake db :create not working for legacy rails app (2. 3.5) 使用 MySQL (5.5.28),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13335871/
我正在实现 Android Room Database,在其中一个教程中我发现了 androidx.legacy:legacy-support-v4:1.0.0 的用法依赖。谁能告诉我使用这种依赖关系
我收到来自某些旧代码的 SOAP 请求,并使用 JAX-WS 生成的对象来处理该请求,该对象来自旧代码使用的同一 WSDL,但在处理该请求时收到 Unmarshalling Error:unmarsh
我遇到了很多错误,比如 /usr/local/include/opencv2/legacy/legacy.hpp:2994:12: error: 'CvSubdiv2DEdge' does not n
在更新 Flutter 和一些软件包后,我一直得到 Failed to resolve: androidx.legacy:legacy-support-v4:27.0.1 error 我已将我的项目迁
任何有用的指标都可以 最佳答案 我在代码中寻找的一件事是单元测试。这将提供重构它的自由。所以如果代码没有测试,我认为它是遗留代码。 关于legacy - 你什么时候说代码是遗留代码?,我们在Stack
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 2年前关闭。 Improve this questi
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
有没有人有将FxCop引入遗留代码的经验?如果有人引入违反规则的代码,我们希望构建失败。但是暂时而言,这是不可能的,因为遗留代码有9000多次违规。 抑制错误的唯一方法是通过SuppressMessa
我听说许多开发人员将代码称为“遗留”。大多数时候,它是由不再参与该项目的人编写的代码。是什么构成了代码、遗留代码? 更新响应:“从祖先、前辈或过去传下来的东西”http://www.thefreedi
我们在工作中遇到过这样的情况:在遗留(核心)系统上工作的开发人员在向已被意大利面条式代码感染的现有代码中添加新功能时,被迫使用 GOTO 语句。 现在,我知道使用“只使用一个小 GOTO”而不是花时间
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
多年来,我听到很多关于我们开发人员必须使用的继承项目的提示。 WTF网站上有无数的示例代码,这些代码使我实际上喃喃自语“WTF?”。 但是,实际上没有向您提供使您离开的代码吗,“这真是深思熟虑!”或“
好吧,在我工作的地方,在过去的几十年中,我们维护了相当数量的系统。 该系统的多样性在于,可以使用多种操作系统(Linux,Solaris,Windows),多种数据库(oracle,sybase和my
我们是一个研究遗留代码的团队,这些代码非常古老,并且是用最初的编程语言编写的。由于团队成员接受了最新技术的培训,并且现在开始处理遗留代码,他们并不满意。如何激励他们也使用遗留代码? 最佳答案 只有现金
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 5年前关闭。 Improve this
我知道它是在 IBM 360 大型机架构上实现的,但有谁知 Prop 体使用了什么语言?据说其中大部分是在 3-4 个月内编程和部署的——对于任何项目来说,这都是一个相当快的周转,更不用说有能力监控整
我正在考虑在 Azure 上运行我们的一些业务。 我正在尝试选择最适合我公司的服务,但我收到的信号很复杂。 因为我正在启动一个新系统,所以我想选择非“旧版”(也称为“当前”)的产品。但似乎没有直接的方
这个问题已经有答案了: 已关闭12 年前。 Possible Duplicate: What makes code legacy? “遗留代码”的定义是什么? 最佳答案 引导 Michael Feat
我正在制作一个应用程序,为客户提供大致的贷款报价(稍后由其他后台系统计算)。我从我们为其制作计算器的金融公司收到了一些代码。我的问题是我不理解计算年百分比率(包括启动费和月费)的代码部分。 他们可能正
我正在尝试关注 this教程并遇到 Node.js 安装问题。在 Debian VM 上安装,并在 nodejs 站点上运行建议的安装命令: curl -sL https://deb.nodesour
我是一名优秀的程序员,十分优秀!