我目前正在开发一个将使用现有远程MySQL数据库的Rails应用程序。我能够正确设置database.yml
并连接到数据库。我可以通过创建相同名称的模型来访问rails控制台中的数据库表,但不执行任何迁移。但是,在浏览器中,我不断收到以下错误:
ActiveRecord::PendingMigrationError
的
Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development
为了确保我已覆盖所有基础,我还在establish_connection(:development)
文件中添加了self.table_name = 'users'
和user.rb
,但尚未运气。任何帮助将不胜感激!
作为参考,我已经关注这些资源:
- https://hackhands.com/ruby-rails-tutorial-creating-rails-instance-existing-mysql-db/
- how to make rails external database calls?
另外,我在这个应用程序中使用Rails 4.2.4和ruby 2.2.3。
答案 0 :(得分:1)
没有架构迁移表。即使没有迁移,您也需要一个空白的迁移。如前所述,在错误消息中运行rake db:migrate并创建表。
假设您有写访问权。
如果rake db:migrate因某些边缘情况原因不起作用,以下应该可以创建它。这只是来自PGAdmin表信息窗口。
CREATE TABLE schema_migrations
(
version character varying(255) NOT NULL
)
WITH (
OIDS=FALSE
);
ALTER TABLE schema_migrations
OWNER TO whatever~owner;
CREATE UNIQUE INDEX unique_schema_migrations
ON schema_migrations
USING btree
(version COLLATE pg_catalog."default");