반응형

컬럼추가 및 컬럼 comment 입력

ALTER TABLE [테이블이름] ADD ([컬럼이름] [데이터타입]);

ALTER TABLE SHOP_USER ADD (SEQ_NO VARCHAR2(12 BYTE));
COMMENT ON COLUMN SHOP_USER.SEQ_NO IS '시퀀스';

기본키 변경

기본키 변경은 기존의 기본키를 삭제하고 다시 만들어야 된다.

ALTER TABLE [테이블명] DROP PRIMARY KEY;

ALTER TABLE [테이블명] ADD CONSTRAINT [기본키명] PRIMARY KEY([컬럼1], [컬럼2], [컬럼3] ...)

ALTER TABLE SHOP_USER DROP PRIMARY KEY; ALTER TABLE SHOP_USER ADD CONSTRAINT PK_BNC_SHOP_USER PRIMARY KEY(CLOSE_DATE, CLOSE_TIME, SEQ)


반응형
반응형

Sphinx는 빠르고 쉽게 그리고 예쁘게 문서화를 만들기 위한 툴입니다. Sphinx 사용 없이 html 문서화를 만든다고 하면 공수가 들고 개발자라면 디자인도 더욱 신경쓸게 많아 집니다. 하지만 Sphinx를 사용하면 손쉽게 문서화를 할 수 있는 환경을 만들 수 있습니다.

최근에 유명 프레임워크나 api 문서들을 보게 되면 비슷한 디자인들이 많았는데 알고 봤더니 Sphinx를 사용한 문서들이었습니다. Sphinx를 사용하기 위한 설치 방법들을 설명 드리겠습니다. 아래 내용은 직접 설치하면서 기록한 내용이기에 혹시나 더 필요하신 라이브러리들이 있으시면 설치하시면 되겠습니다.


1. 파이썬 설치. (파이썬이 기본적으로 설치가 되어 있으셔야 됩니다.)

2. Sphinx 설치. (Sphinx를 설치 하고 sphinx_rtd_theme테마가 마음에 들어 해당 테마를 설치해줍니다.)

pip install Sphinx

pip install sphinx_rtd_theme

3. 문서화를 만들 프로젝트로 가서 퀵스타트 명령어를 실행 합니다.

sphinx-quickstart    //리눅스인 경우

C:\ProgramData\Anaconda3\Scripts\sphinx-quickstart.exe    //윈도인 경우 설치한 경로에 파일 실행


4. conf.py 파일을 열어 경로는 주석을 풀어주고 테마는 마음에 드는 테마를 명시 해줍니다. (현재 테마(sphinx_rtd_theme는 위에서 설치한 테마입니다.)

// 주석 해제
import os import sys sys.path.insert(0, os.path.abspath('.')) sys.path.insert(0, os.path.abspath('..')) // 마음에 드는 테마로 변경 html_theme = 'sphinx_rtd_theme'


5. make 명령어롤 통해서 html을 생성해줍니다.

make html
make.bat html


6. docs/_build/html/index.html 경로로 가면 html 문서가 생성된 것을 볼 수 있습니다.

반응형
반응형

upstream 추가하기

git remote add upstream upstream_address



직전 커밋 수정

직전에 커밋을 한 내용을 수정하기 위한 작업으로 아래의 작업(내용변경)내용으로 커밋으로 수정한다.

작업(내용 변경) git add . git commit --amend

로컬에 커밋을 수정하고 깃헙에 이미 커밋을 하였다면 강제 푸쉬를 해야된다.

git push --force


반응형
반응형

기존 테이블에 기존 값들이 잘 들어 가고 있다.

새로운 데이터들이 INSERT된다. 새로운 데이터는 기존 테이블에 잘 들어가리라 생각했는데 그렇지 않았다.

기존 테이블 기본키값으로 인해서 기본키 오류가 발생하였다.

키값이 모두 일치하고 또 다른 경우의 컬럼의 속성이 다른 경우의 데이터가 존재하는 경우다.

새로운 속성의 컬럼 값은 유니크하다.

더군다나 속성이 다른 컬림은 기존 테이블에 INSERT가 되지 않는다.


해결책을 생각해본다.

오라클은 기본키를 잡게 되면 자동으로 인덱스로 잡힌다.

테이블의 데이터가 적은 양은 아니어서 인덱스는 잡아야 되는 상황이다.


1. 기존 테이블의 기본키 값을 풀어주고 인덱스만을 잡아준다. 그렇다면 위와 같은 데이터가 들어 올 시 데이터 구분이 안된다.


2. 기본키를 풀어 주고 새로운 컬럼을 추가하여 유니크 인덱스를 잡아준다. 그렇다면 기존 데이터는 추가한 컬럼에 널값이 들어 간다. 

기본키 위배되는 값은 기존 데이터에는 존재하지 않는다.


3. 이 테이블에 반드시 값을 INSERT해야되는가를 고려해본다. 값을 넣어야 된다...


4. 전용 테이블을 만들어 준다. 앞으로 관리되는 테이블 갯수의 증가와 테이블 생성이 반드시 필요한건가 고려해본다.

어쨌든 테이블을 새로 생성하든 컬럼을 추가 하든 어드민은 영향범위에 포함이 된다.


5. 새로운 속성의 데이터를 기존 테이블 컬럼에 넣어준다. 그리고 기본키 위배가 걸린 값을 새로운 컬럼을 생성하여 insert 해준다.

새로운 속성의 값이 유니크 하기때문에 기본키 위배 없이 수행이 된다.

새로운 속성의 데이터 로우값의 구분은 확실히 할 수 있다. 그렇기 때문에 구분 값을 보고 필요에 따른 컬럼을 사용해주자.


결국에는 5번을 선택 하였는데 시간과 하는 업무의 크기를 보고 테이블을 별도로 생성하는 방법도 좋은 방법이라 생각이 된다.

반응형
반응형

장고의 decorate의 대해서 알아 볼 것입니다.


https://code.djangoproject.com/ticket/30161


반응형

+ Recent posts