ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • sailsjs mysql연동하기, 여러 database연결
    NULL STACK 2019. 5. 30. 11:06
    반응형

    config폴더 안의 datastores.js에서 default 안에 있는 다음 코드의 주석을 해제한다.

        adapter: 'sails-mysql',
        url: 'mysql://user:password@host:port/database',

    url에는 위에서 적힌대로 연결을 원하는 DB정보를 넣어준다.

    그다음 npm을 통해 sails-mysql을 설치한다.

    npm install sails-mysql --save

     

    config폴더 안의 models.js에 들어가서 다음 주석을 해제한다.

    migrate: 'alter',

    위와같이 둘 경우, 디비에 테이블 정보가 없을때 모델에서 정의해준대로 테이블이 생성또는 수정된다.

    이미 만들어진 데이터베이스의 테이블을 사용하고자 할 경우 alter대신 safe를 쓴다.

    주로 개발중에는 alter, 개발후 유지보수때는 safe를 쓴다..

    그다음은 attributes를 확인한다. 이곳에 기재된 attributes들은 모델에 항상 있어야한다.(safe 일 경우)

    그래서 나는 id만 사용하기로 하고 주석처리함..

     

    이제 확인하기위해 기존 테이블 하나에 관련된 api를 만들어보자.

    예를들어 test라는 테이블을 가지고 있고, 해당 디비를 연결했다면 아래 명령어를 터미널에 쳐본다.

    sails generate api test

    그러면  곧바로 api안에 컨트롤러와 모델이 생성된것을 알 수 있다.

    다음, sails lift로 서버를 띄우고 localhost:1337/test로 들어가보자.

    test테이블 안의 내용이 출력되는것을 볼 수 있다.

     

     

    만약, 여러개의 데이터베이스를 추가할 경우, config폴더 안의 datastores.js에서 추가 작업을 해줘야한다.

    다음과 같이 default와 같은 depth에서 이름을 지정해 준다.

    그런다음, api/models 안의 파일에서 attributes위에 추가하게 된다.

    //예시
    module.exports = {
        datastore : 'mysqlDB',
        attributes: {
    		id:{...}
            }

     

     

    반응형
Designed by Tistory.