gpt4 book ai didi

mysql - 使用 Rails 项目的现有数据库

转载 作者:行者123 更新时间:2023-11-29 00:28:19 25 4
gpt4 key购买 nike

我想在我的 Ubuntu 12 机器上运行一个 ruby​​ on rails 项目。运行命令 bundle install 后,我使用了以下命令

   rake db:drop db:setup 

显示

-- create_table("art_clas", {:force=>true})
-> 0.3222s
-- add_index("art_clas, ["art_id", "clas, {:name=>"index_art_attes_on_art_attribute", :unique=>true})
-> 0.4328s
.....................................
.....................................

当我使用 $ rake db:setup 命令时,它显示了现有的数据库

franche_development already exists
franche_test already exists
-- create_table("art_clas", {:force=>true})
-> 0.3222s
-- add_index("art_clas, ["art_id", "clas, {:name=>"index_art_attes_on_art_attribute", :unique=>true})
-> 0.4328s
.....................................

稍后,当我运行该项目时,它不会显示数据库表中的任何值(显示为空白)。之后我输入以下内容来显示数据库。但是这个操作并没有显示我在rails项目中已有的数据库

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
2 rows in set (0.23 sec)

执行 rake db:drop 什么都不返回

 $ rake db:drop
$

并且在运行项目时显示

Mysql2::Error: Table 'franche_development.arts' doesn't exist: SELECT `arts`.* FROM `arts`  WHERE `arts`.`active` = 1 .....

如何设置和使用 Rails 项目中的现有数据库和表。

是代码错误还是数据库设置问题??

最佳答案

因此,您想在 ruby​​ 中使用在 mySQL 中创建的现有数据库。您需要在 config/database.yml 中设置配置。

举个例子

development:
adapter: mysql2
encoding: utf8
database: my_db_name
username: root
password: my_password
host: 127.0.0.1
port: 3306

您还需要安装 mysql gem。并更新关于 mysql gem 的 Gemfile

默认情况下,rails 在 sqlite 中而不是在 mySQL 中设置数据库,并且存储在 RAILS_ROOT/db/development.sqlite3 中。这意味着如果您在 rails 中创建表,您将无法使用 mysql 查看表,您需要使用 sqlite3 才能与它们交互

关于mysql - 使用 Rails 项目的现有数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17878828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com