コード例 #1
0
ファイル: install.go プロジェクト: caixw/typing
// 安装数据库和初始化默认的初始数据。
// options表的数据在options包中安装。
func Install(db *orm.DB) error {
	if db == nil {
		return errors.New("db==nil")
	}

	// 创建表
	if err := createTables(db); err != nil {
		return err
	}

	// tags
	tag := &Tag{
		Name:        "default",
		Title:       "默认标签",
		Description: "这是系统产生的默认标签",
	}
	if _, err := db.Insert(tag); err != nil {
		return err
	}

	// post
	now := time.Now().Unix()
	post := &Post{
		Title:    "第一篇日志",
		Content:  "<p>这是你的第一篇日志</p>",
		State:    PostStatePublished,
		Created:  now,
		Modified: now,
	}
	if _, err := db.Insert(post); err != nil {
		return err
	}

	// comment
	comment := &Comment{
		PostID:     1,
		Content:    "<p>沙发</p>",
		AuthorName: "游客",
		State:      CommentStateWaiting,
	}
	if _, err := db.Insert(comment); err != nil {
		return err
	}

	// relationship
	if _, err := db.Insert(&Relationship{TagID: 1, PostID: 1}); err != nil {
		return err
	}

	return nil
}