Postgres on Rails FATAL:数据库不存在
我重新安装了Postgres(9.2.4),但是我无法使用Rails 3.2.11进行备份。 我做了:
brew install postgresql initdb /usr/local/var/postgres pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
所以现在我有
$ psql --version psql (PostgreSQL) 9.2.4 $ which psql /usr/local/bin/psql
我的database.yml文件看起来像
development: adapter: postgresql encoding: unicode database: myapp_development pool: 5 username: Tyler password: host: localhost port: 5432
当我运行rake db:create:all
然后rake db:migrate
我得到错误:
PG::Error: ERROR: relation "posts" does not exist LINE 5: WHERE a.attrelid = '"posts"'::regclass ^ : SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"posts"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
我试图清除与过去的数据库,迁移等有关的所有内容。
我删除了schema.rb,seed.rb和迁移文件夹中的所有文件,以及我能想到的任何其他内容。 但是,引用“post”的错误让我觉得我的先前数据库(有一个名为“post”的表)仍有一些旧的引用。
在尝试完全重新安装/刷新我的数据库时,是否有人知道如何解决此错误?
我遇到了类似的问题。 我检查了不同的网站,并尝试了他们的建议,但没有工作。 然后我尝试了你的建议。 rake db:create:all
和rake db:migrate
它对我有用。 谢谢!
您需要先创建数据库。 运行rake db:create:all
还要确保为postgres正确设置了yml文件。
db:create:all
和db:migrate
首先对我不起作用。 我在myapp/config/database.yml
文件中将我的数据库名称从development.pg
更改为developmentpg
:
数据库:db / developmentpg
然后rake db:create:all
和rake db:migrate
,它对我有用。
谢谢
我尝试运行rake db:create:all,这不起作用。 但是,运行bundle exec rake db:create:all对我有用。
希望这可以帮助!
- 如何在rails中保存ActiveRecord模型后获取id值
- 如何将方法添加到activerecord集合?
- 在Rails中添加另一个列之前的列
- 如何在postgres中执行此组ActiveRecord查询
- Ruby on Rails中的Geokit,acts_as_mappable的问题
- 如何在ActiveRecord中创建“OR”语句?
- ActiveResource +缓存
- 为什么ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:near“)”:语法错误:INSERT INTO“user_friendships”()VALUES()
- Ruby on Rails – STI的替代品?