Ruby에서 generate명령으로 Model을 만들면 자동으로 table관련 스크립트가 만들어진다. 이때 id 칼럼이 자동으로 추가되는데


현재 mysql version :5.7.17 에서는 primary key 체크부분에서 다음과 같은 오류가 난다

Mysql::Error: All parts of a PRIMARY KEY must be NOT NULL;
if you need NULL in a key, use UNIQUE instead:

CREATE TABLE `accounts` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY,
`
firm_id`
int(11), `firm_name` varchar(255),
`
credit_limit`
int(11)) ENGINE=InnoDB

id를 int형에 DEFAULT NULL에 자동증가, PK로 추가되는데

5.7버전에서는 오류가 난다. ㅜ.ㅜ

그래서 5.1로 다운그레이드 함. 오류 안남.

(I downgraded to mysql 5.1.3. and there's no error)

------------------------
- model은 추가되어 있으므로 다시 생성하려면 지우고 다시생성(안해도 될 것 같기는 한데 아무튼)
c:\rails destroy model Account

- 파일 다운로드 및 압축 풀기

- 환경변수 설정 변경 : MYSQL_HOME C:\mysql-5.1.72-win32

- mysqld 실행

- 최초실행시 패스워드 설정(최초에는 패스워드 없음)
C:\mysql -u root mysql

- pw 변경
mysql> update user set password = password('바꿀비밀번호') where user = 'root';
mysql> exit;

- 변경사항 반영
C:\mysqladmin -u root reload

- 비밀번호로 접속
C:\mysql -u root -p

- 데이터 베이스 생성
mysql>create database company;
mysql>exit;

- 기존데이터 복구
C:\mysql -uroot -p company < 2015_12_15.sql

-------

rails generate model Account name:string:index

rake db:migrate

==  CreateAccounts: migrating ========================================
-- create_table(:accounts)
   -> 0.0420s
-- add_index(:accounts, :name)
   -> 0.0540s
==  CreateAccounts: migrated (0.1200s) ===============================
 

성공했다 ㅎㅎㅎ

저작자 표시 비영리 변경 금지
신고

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

BLOG main image
"그게 뭐 어쨌다는 거냐?" 늘 누가 나에게 나에대한 말을할 때면 이말을 기억해라. by nobang

카테고리

nobang이야기 (1571)
Life With Gopro (7)
Life With Mini (69)
Diary (906)
너 그거 아니(do you know) (109)
난 그래 (107)
속지말자 (9)
Project (34)
Poem (14)
Song (0)
Study (120)
Photo (112)
낙서장 (45)
일정 (0)
C.A.P.i (2)
PodCast (0)
nobang (27)
고한친구들 (4)
recieve (0)
History (0)
android_app (2)

최근에 받은 트랙백

Total : 443,111
Today : 248 Yesterday : 354