Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 중복문자제거
- ...점점점문법
- js 문자열을 문자배열로
- 스프링 데이타 JPA
- 5.3.8 Modifying Queries
- 레디스 확인
- indexOf()
- 배엘에서 스왑
- 시퀄 문법
- 중복단어제거
- 객체의 밸류값만 찾기
- 깃 토큰 만료
- 프론트엔드 스쿨
- sql like연산자
- 중첩배열평탄화
- 재귀스왑
- 문자열 중복
- 코딩 어?
- ubuntu타임존
- 객체의키값만 찾기
- 문자열순서바꾸기
- @Moditying @Query
- 중복된 단어
- 중복 문자열
- 단어 제거
- 우분투 시간 변경
- 제로베이스
- sql 문자열 패턴 검색
- lastIndexOf()
- 중첩배열
Archives
- Today
- Total
코딩기록
15일차(수)- sequelize (강제업뎃, .env, ) 본문
728x90
node sequelize db 연결 및 강제 업데이트
app.js
// index.js에 있는 db.sequelize 객체 모듈을 구조분해로 불러온다.
const { sequelize } = require('./models');
// force: 서버 실행마다 테이블을 재생성 할 것인지 아닌지
// force: true는 모델을 수정하면, 이를 db에 반영하기 위한 옵션이다.
// 단, 테이블을 지웠다 다시 생성하는 거라서 기존 데이터가 날아간다. 주로 force: false 설정.
// 따라서, alter: true 옵션을 통해 기존 데이터를 유지하면서 테이블을 업테이트 할수있다.
// 다만, 필드를 새로 추가할때 필드가 not null이면 제약조건에따라 오류가 나는 등 대처를 해야 한다.
// 기존 테이블 칼럼 변경 force, 새 테이블 alter.
sequelize
.sync({ alter: true })
.then(() => {
console.log(`
🐣 🐣 🐣 🐣 🐣 🐣 🐣
🐤 안 녕 🐤 디 비 🐤
🐥 🐥 🐥 🐥 🐥 🐥 🐥
`);
})
.catch((err) => {
console.error(err);
});
항상 force:false로 설정했다가 다른 블로거가 alter:true로 설정한 걸 보고 정리했다.
콘솔 로그에 찍히는 양식은 전기수 코드보다 귀여워서 가져왔다 덕분에 이걸 자주 쓴다.
node sequelize .env 환경변수 설정
sequelize init을 하면 자동적으로 1. /config/config.json 2. models/index.js 3. Migrations 4. Seeders
파일이 생성된다. 여기서 .env 환경변수 세팅하려면 다음 3개 파일을 변경한다.
1. /config/config.json ( 확장자 및 코드 변경 )
/config/config.json -> /config/config.js
2. models/index.js ( 코드 변경 )
3. .env
config.js
require('dotenv').config();
const env = process.env;
const development = {
username: env.SQL_USER,
password: env.SQL_PASSWORD,
database: env.SQL_DATABASE,
host: env.SQL_HOST,
dialect: 'mysql',
};
const test = {
username: env.SQL_USER,
password: env.SQL_PASSWORD,
database: env.SQL_DATABASE,
host: env.SQL_HOST,
dialect: 'mysql',
};
const production = {
username: env.SQL_USER,
password: env.SQL_PASSWORD,
database: env.SQL_DATABASE,
host: env.SQL_HOST,
dialect: 'mysql',
};
module.exports = { development, test, production };
index.js
//변경 전
const config = require(__dirname + '/../config/config.json')[env];
//변경 후
const config = require(__dirname + '/../config/config.js')[env];
index.js는 확장자만 json -> js 변경하면 끝.
.env
SQL_PORT=3000
SQL_USER=보통은root
SQL_PASSWORD=비번
SQL_DATABASE=내가_원하는_디비_이름_적기
SQL_HOST=127.0.0.1
.env 파일은 절대 띄어쓰기가 안 된다. 항상 언더바_ 로 띄어쓰기를 표현해야 한다.
.gitignore파일에 node_modeuls, .env, config 빼먹지 말것!!
참고
* sequelize- .env 환경변수 설정
https://velog.io/@hyunju-song/sequelize%EB%A1%9C-DB%EC%85%8B%ED%8C%85%ED%95%A0-%EB%95%8C-%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98-%ED%8C%8C%EC%9D%BC-%EC%84%A4%EC%A0%95-%EB%B0%8F-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
반응형
Comments