【发布时间】:2011-03-16 11:33:50
【问题描述】:
我有一个发送给我的数据库文件 (name.sql),我应该连接到本地托管在我的 mac 上的 rails 应用程序,我从 github 下载(分叉?)。如何设置我的 database.yml 文件以连接 sql 文件。
【问题讨论】:
标签: mysql ruby-on-rails
我有一个发送给我的数据库文件 (name.sql),我应该连接到本地托管在我的 mac 上的 rails 应用程序,我从 github 下载(分叉?)。如何设置我的 database.yml 文件以连接 sql 文件。
【问题讨论】:
标签: mysql ruby-on-rails
您不能将 Rails 应用程序直接连接到 SQL 文件。 Rails 应用程序从数据库服务器获取数据,然后您将 SQL 文件的内容导入到服务器托管的数据库中。
您可以从http://dev.mysql.com/downloads/mysql/#downloads 下载一个 DMG 存档,它将在您的 Mac 上安装 MySQL 社区服务器
该下载还包括一个方便的首选项窗格,用于启动和停止服务器。
一旦你启动并运行了 MySQL,你应该为 root 用户(即数据库系统管理员)设置密码
mysqladmin -u root password "secret"
- 显然将secret 替换为您要使用的真实密码。
然后您可以为 Rails 应用程序设置database.yml 文件。对于名为 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
请注意,通常在生产环境中,您会为 Rails 应用程序创建一个单独的受限权限数据库用户帐户以连接到 MySQL,但对于在本地计算机上进行开发,root 帐户就可以了。
在这一步之后,您可以在终端中从 Rails 应用程序的根目录运行 rake db:create。此命令将在 MySQL 中创建 app_development 数据库(rake db:create:all 也创建测试和生产数据库)。最后,您可以通过在终端中输入以下命令来导入您的 SQL 文件:
mysql -u root -p app_development < path/to/file/name.sql
系统将提示您输入 MySQL 根密码。如果 SQL 文件不在终端的当前目录中,则将 path/to/file 替换为 SQL 文件的完整路径。例如,如果在您的桌面上,请使用 ~/Desktop/name.sql。
【讨论】:
可能最简单:您需要在您的 Mac 上运行数据库服务器。然后将您的数据导入您的数据库服务器。
mac上安装rails的教程也会讲到如何安装本地数据库服务器和设置database.yml文件
【讨论】: