beego Tutorial 3 : 모델 생성
xyz/models/admin.go
파일을 작성한다.package models type Admin struct { Id int Userid string `orm:"unique"` Password string Nick string `orm:"unique"` }
xyz/models/common.go
파일을 작성한다.package models import ( "github.com/astaxie/beego/orm" ) func init() { orm.RegisterModelWithPrefix("tb_", new(Admin)) }
xyz/main.go
파일을 아래처럼 수정한다.package main import ( "fmt" "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/mattn/go-sqlite3" _ "xyz/models" // models 아래의 init() 가 작동하려면 필요 _ "xyz/routers" ) func init() { orm.RegisterDriver("sqlite3", orm.DR_Sqlite) orm.RegisterDataBase("default", "sqlite3", "xyz.db") name := "default" force := false verbose := true err := orm.RunSyncdb(name, force, verbose) if err != nil { fmt.Println(err) } } func main() { beego.Run() }
- 위와 같이 소스파일들을 작성하고
bee run
을 하여 실행하면,xyz/xyz.db
파일이 생성된 것을 확인할 수 있으며, 다음과 같이 테이블이 생성된 것도 볼 수 있다.$ sqlite3 xyz.db sqlite> .tables tb_admin sqlite> .schema tb_admin CREATE TABLE `tb_admin` ( `id` integer NOT NULL PRIMARY KEY AUTOINCREMENT, `userid` varchar(255) NOT NULL DEFAULT '' UNIQUE, `password` varchar(255) NOT NULL DEFAULT '' , `nick` varchar(255) NOT NULL DEFAULT '' UNIQUE ); sqlite> insert into tb_admin(userid, password, nick) values('testid1', 'passwd1', 'nick1'); sqlite> insert into tb_admin(userid, password, nick) values('testid2', 'passwd2', 'nick2'); sqlite> insert into tb_admin(userid, password, nick) values('testid3', 'passwd3', 'nick3'); sqlite> insert into tb_admin(userid, password, nick) values('testid4', 'passwd4', 'nick4'); sqlite> insert into tb_admin(userid, password, nick) values('testid5', 'passwd5', 'nick5'); sqlite> select * from tb_admin; 1|testid1|passwd1|nick1 2|testid2|passwd2|nick2 3|testid3|passwd3|nick3 4|testid4|passwd4|nick4 5|testid5|passwd5|nick5 sqlite> .quit
댓글
댓글 쓰기