rails6에서 ActiveRecord::NoDatabaseError 해결

하드는 MacBook Air, 개발 환경은 VScode를 사용하고 있습니다.

마지막 기사 (rails new로 데이터베이스를 PostgreSQL로 만들기) 에 수반되는 에러의 해결 방법입니다.

마지막 내용

PostgreSQL을 데이터베이스로 지정
$ rails _5.1.6_ new アプリ名 --database=postgresql

이것을 rails6에서 실행하고,
$ rails server

에서 서버를 시작하고 localhost:3000에 액세스하면,
ActiveRecord::NoDatabaseError라는 오류가 발생합니다.

이것은 데이터베이스가 존재하지 않기 때문에 발생하는 오류입니다.

해결 방법 데이터베이스 만들기



자동으로하는 방법



먼저 rails new 로 생성한 디렉토리로 이동합니다.
$ cd 作成したディレクトリ

다음
$ rails db:create

를 실행하여 데이터베이스를 생성합니다.
config/database.yml의 내용에 따라 데이터베이스가 자동으로 생성됩니다.

수동으로하는 방법



먼저 rails new 로 생성한 디렉토리로 이동합니다.
$ cd 作成したディレクトリ

그런 다음 config/database.yml을 다시 씁니다.

config/database.yml 변경 전
~省略~

development:
  <<: *default
  database: アプリ名_development

~省略~

config/database.yml 변경 후
~省略~

development:
  <<: *default
  database: アプリ名_db
  host: localhost
  encoding: utf8
  reconnect: false
  username: 自分のユーザー名

~省略~

※ database:는 데이터베이스명이므로 알기 쉽게 development를 db로 변경
그 외(hots, encoding, recconect, username)에 관해서도, 일단 추기하지 않아도 해결할 수 있지만, 추기하는 것을 추천.

그런 다음 SQL을 시작합니다.
$ psql -h localhost -p 5432 -U 自分のユーザー名 -d postgres

psql (12.3)
Type "help" for help.

postgres=# 

이 근처의 명령에 대해서는
htps //w w. 포스트g sql. jp / 도쿠멘 t / 9.3 / HTML / 아 ppsql. HTML
에 자세하게 실려 있습니다.

($ psql -h localhost -d postgres ← 이것만으로도 일단 해결할 수 있었습니다.)

이 명령을 실행하면 SQL 문을 입력할 수 있습니다.
여기에 데이터베이스를 만드는 SQL 문을 작성합니다.

입력 전
postgres=# 

입력 후
postgres=# create database アプリ名_db;

여기서 앱 이름_db는 먼저 config/database.yml에 지정된 database:앱 이름_db를 입력합니다.

실행 후
postgres=# create database アプリ名_db;
CREATE DATABASE
postgres=# \q

마지막으로\q 를 입력하면 빠질 수 있습니다.

이제 $ rails server에서 서버를 다시 시작하고 localhost : 3000에 액세스하십시오. 오류는 해결되어야 합니다.

무사히 해결했습니다!



도움이 되면 꼭 LGTM 버튼을 확실히 눌러 주시면 기쁩니다.
함께 Rails 학습 노력하자!

좋은 웹페이지 즐겨찾기