如何将mysql数据库文件连接到rails应用程序上的本地ruby

Dav*_*ave 3 mysql ruby-on-rails

我有一个数据库文件(name.sql)发送给我,我应该连接到我的Mac本地托管的rails应用程序,我从github下载(分叉?).如何设置我的database.yml文件以连接sql文件.

Joh*_*ley 5

您无法将Rails应用程序直接连接到SQL文件.Rails应用程序从数据库服务器获取其数据,并将SQL文件的内容导入到服务器托管的数据库中.

您可以从http://dev.mysql.com/downloads/mysql/#downloads下载将在Mac上安装MySQL社区服务器的DMG存档.

该下载还包括一个方便的Preference窗格,用于启动和停止服务器.

启动并运行MySQL后,您应该使用root用户(即数据库系统管理员)设置密码

mysqladmin -u root password "secret"
Run Code Online (Sandbox Code Playgroud)

- 显然用secret您想要使用的真实密码替换.

然后,您可以database.yml为Rails应用程序设置文件.对于名为app的应用程序,它看起来像这样:

development:
  adapter: mysql
  database: app_development
  username: root
  password: secret
  host: localhost

test:
  adapter: mysql
  database: app_test
  username: root
  password: secret
  host: localhost

production:
  adapter: mysql
  database: app_production
  username: root
  password: secret
  host: localhost
Run Code Online (Sandbox Code Playgroud)

请注意,通常在生产中,您将为Rails应用程序创建一个单独的有限权限数据库用户帐户以连接到MySQL,但是对于本地计算机上的开发,root帐户很好.

完成此步骤后,您可以rake db:create从终端内的Rails应用程序的根目录运行.此命令将app_development在MySQL中创建数据库(也rake db:create:all创建测试和生产数据库).最后,您可以通过在终端中输入以下命令来导入SQL文件:

mysql -u root -p app_development < path/to/file/name.sql
Run Code Online (Sandbox Code Playgroud)

系统将提示您输入MySQL root密码.path/to/file如果它不在终端的当前目录中,则替换为SQL文件的完整路径.例如,~/Desktop/name.sql如果它在您的桌面上,请使用.