我正在尝试将Ruby on rails项目导入我的计算机,但遇到了各种数据库问题。
情况如下:
我有一个 appname.tar.gz 是我从另一个开发人员那里得到的。我提取它并将其重新定位到我的用户目录以使用它。
- 接下来我在目录中运行
bundle install
来安装 gem依赖。 - 然后我运行
rake db:create
来创建数据库并从同一目录中的数据库文件夹加载架构和结构。这就是我遇到各种问题的地方。当我启动应用程序时,我收到一条错误消息,指出数据库迁移挂起。- 结构.sql是 MySQL 转储 10.13
- 而数据库.yml 文件将适配器设置为 Postgres:
adapter: postgres
.这正常吗?
这是将现有应用导入环境的最佳方式吗?
任何帮助将不胜感激。
这听起来像你得到了一个MySQL转储,并且应用程序被配置为使用postgres。我想知道为什么会这样,但您可以通过设置类似的东西来尝试在config/database.yml
文件中使用 mysql 适配器
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password:
host: localhost
development:
<<: *default
database: foobar_development
有趣的一点是adapter: mysql2
.
我从一个全新的轨道应用程序中获取了这个。你肯定需要运行mysql。
希望这有帮助。如果没有,您必须联系其他人以获取一些与postgresql兼容的转储。
我让它工作了!谢谢大家的帮助!真的很感激。以下是对我有用的步骤:
- 将项目复制到新计算机
- 打开终端并将目录更改为项目
- 运行
bundle install
以安装所有 gem 依赖项 - 运行
bundle update
以更新已安装的 gem - 通过运行
pg_ctl -D /usr/local/var/postgres start
启动 Postgres 服务器 - 运行
createdb databasename
以在新计算机上创建数据库。数据库名称必须与配置文件夹中的 database.yml 文件中提到的数据库匹配。 - 跑
rake db:schema:load
,就是这样!
按照上述步骤操作后,我能够运行rails s
查看网站。