Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Empty file modified .gitignore
100644 → 100755
Empty file.
Binary file added DogBreedingBackup.db
Binary file not shown.
Empty file modified LICENSE
100644 → 100755
Empty file.
Empty file modified README.md
100644 → 100755
Empty file.
Empty file modified TODO.md
100644 → 100755
Empty file.
Empty file modified app/views/qor/action.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/actions/9.action.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/actions/header/1.page_title.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/actions/header/5.userinfo.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/actions/header/6.searchbar.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/actions/index/5.scope.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/actions/index/9.action.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/actions/index/9.advanced_filter.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/ancestors/assets/qor_admin_default.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/ancestors/assets/qor_admin_default.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/ancestors/assets/vendors.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/ancestors/index.html.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/MaterialIcons.woff
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-Black.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-BlackItalic.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-Bold.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-BoldItalic.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-Italic.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-Light.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-LightItalic.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-Medium.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-MediumItalic.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-Regular.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-Thin.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/Roboto-ThinItalic.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/RobotoCondensed-Bold.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/RobotoCondensed-BoldItalic.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/RobotoCondensed-Italic.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/RobotoCondensed-Light.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/RobotoCondensed-LightItalic.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/fonts/RobotoCondensed-Regular.ttf
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/images/bg-transparents.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified app/views/qor/assets/images/icon_trangle.svg
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified app/views/qor/assets/images/logo-old.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified app/views/qor/assets/images/logo.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified app/views/qor/assets/javascripts/app.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/app/alert.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/app/global-search.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/app/menu.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/app/mobile.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/app/open-url.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/app/search.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/datetimepicker.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/datepicker.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-action.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-advanced-search.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-autoheight.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-bottomsheets.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-common.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-config.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-datepicker.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-dirtyform.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-filter-time.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-fixer.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-inline-edit.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-material.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-modal.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-radio-tabs.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-redactor.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-search.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-select-core.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-select-many.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-select-one.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-selector.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-slideout.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-sorter.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-tabs.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/qor/qor-timepicker.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/vendors/cropper.min.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/vendors/jquery.min.js
100644 → 100755
Empty file.
Empty file.
Empty file modified app/views/qor/assets/javascripts/vendors/material.min.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/vendors/moment.min.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/vendors/mustache.min.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/vendors/redactor.source.min.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/javascripts/vendors/underscore.min.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/app.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/chosen-sprite.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified app/views/qor/assets/stylesheets/chosen-sprite@2x.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified app/views/qor/assets/stylesheets/datetimepicker.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/fonts.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/qor.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/qor_admin_default.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/redactor-font.eot
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/app.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/app/_mobile.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/app/_print.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/app/_qor-icons.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/app/_search-center.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/app/_sections.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/app/_select.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/app/_table.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/app/_tabs.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/app/_typography.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/datetimepicker.scss
100644 → 100755
Empty file.
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/mdl/_functions.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/mdl/_mixins.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/mdl/_variables.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/qor.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/qor/datepicker.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/qor/qor-bottomsheets.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/qor/qor-filter.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/qor/qor-fixer.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/qor/qor-inlineedit.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/qor/qor-search.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/scss/qor/qor-selector.scss
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/style-breeding-tb.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/style-parentssiblings-tb.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/vendors.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/vendors/cropper.min.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/vendors/material.min.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/vendors/redactor.min.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/assets/stylesheets/vendors/select2.min.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/breedingbook/assets/qor_admin_default.css
100644 → 100755
Empty file.
Empty file modified app/views/qor/breedingbook/assets/qor_admin_default.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/breedingbook/assets/vendors.js
100644 → 100755
Empty file.
Empty file modified app/views/qor/breedingbook/index.html.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/dashboard.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/edit.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/index/pagination.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/index/table.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/layout.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/mate_table_1/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/mate_table_10/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/mate_table_2/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/mate_table_3/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/mate_table_4/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/mate_table_5/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/mate_table_6/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/mate_table_7/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/mate_table_8/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/mate_table_9/index.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/filter/checkbox.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/filter/datetime.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/filter/number.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/filter/select_many.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/filter/select_one.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/filter/string.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/checkbox.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/collection_edit.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/date.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/datetime.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/float.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/hidden.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/hidden_primary_key.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/number.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/password.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/readonly.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/rich_editor.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/select_many.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/select_one.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/single_edit.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/string.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/form/text.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/index/collection_edit.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/index/rich_editor.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/index/select_many.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/index/select_one.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/index/single_edit.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/metas/section.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/new.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/parentssiblings/index.html.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/search_center.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/shared/action_item.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/shared/errors.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/shared/flashes.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/shared/menu.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/shared/sidebar.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/show.tmpl
100644 → 100755
Empty file.
Empty file modified app/views/qor/themes/grid/index/table.tmpl
100644 → 100755
Empty file.
Empty file modified cmd/compile_templates/main.go
100644 → 100755
Empty file.
Empty file modified config/bindatafs/templates_bindatafs.go
100644 → 100755
Empty file.
Empty file modified go.mod
100644 → 100755
Empty file.
Empty file modified go.sum
100644 → 100755
Empty file.
5 changes: 5 additions & 0 deletions main.go
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ func main() {
}
db.SetLogger(log.New(f, "\n", 0))

err = mygorm.Init2(db)
if err != nil {
log.Fatal(err)
}

// Initalize QOR Admin
adm, err := myqor.Init(db, assetFS, workDir)
if err != nil {
Expand Down
Empty file modified migrations/001_mv_breed_litter.sql
100644 → 100755
Empty file.
212 changes: 151 additions & 61 deletions mygorm/breedingbook.go
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -2,85 +2,175 @@ package mygorm

import (
"github.com/jinzhu/gorm"
"time"
)

type TypeEnum struct {
slug string
}
type TypeEnum string

const (
TypeUnknown = TypeEnum("")
TypeString = TypeEnum("string")
TypeText = TypeEnum("text")
TypeCheckbox = TypeEnum("checkbox")
TypeInt = TypeEnum("integer")
TypeFloat = TypeEnum("floating point")
TypeDate = TypeEnum("date")
TypeDateTime = TypeEnum("timestamp")
TypeSelectOne = TypeEnum("select one")
TypeSelectMany = TypeEnum("select many") // []string
)

func (te TypeEnum) String() string {
return te.slug
var AllTypeEnums = []TypeEnum{
TypeUnknown,
TypeString,
TypeText,
TypeCheckbox,
TypeInt,
TypeFloat,
TypeDate,
TypeDateTime,
TypeSelectOne,
TypeSelectMany,
}

var (
TypeUnknown = TypeEnum{""}
TypeString = TypeEnum{"string"}
TypeText = TypeEnum{"text"}
TypeCheckbox = TypeEnum{"checkbox"}
TypeInt = TypeEnum{"integer"}
TypeFloat = TypeEnum{"floating point"}
TypeDate = TypeEnum{"date"}
TypeDateTime = TypeEnum{"timestamp"}
TypeSelectOne = TypeEnum{"select one"}
TypeSelectMany = TypeEnum{"select many"}
type QualityEnum string

const (
QualityNeutral = QualityEnum("neutral")
QualityBad = QualityEnum("bad")
QualityPerfect = QualityEnum("perfect")
)

var AllTypeEnums = []string{
TypeUnknown.slug,
TypeString.slug,
TypeText.slug,
TypeCheckbox.slug,
TypeInt.slug,
TypeFloat.slug,
TypeDate.slug,
TypeDateTime.slug,
TypeSelectOne.slug,
TypeSelectMany.slug,
}

func NewTypeEnum(s string) TypeEnum {
switch s {
case TypeString.slug:
return TypeString
case TypeText.slug:
return TypeText
case TypeCheckbox.slug:
return TypeCheckbox
case TypeInt.slug:
return TypeInt
case TypeFloat.slug:
return TypeFloat
case TypeDate.slug:
return TypeDate
case TypeDateTime.slug:
return TypeDateTime
case TypeSelectOne.slug:
return TypeSelectOne
case TypeSelectMany.slug:
return TypeSelectMany
}
return TypeUnknown
var AllQualityEnums = []string{
string(QualityNeutral),
string(QualityBad),
string(QualityPerfect),
}

// String is implemented for nicer looking numbers.
func (q QualityEnum) String() string {
return string(q)
}

type DogTest struct {
gorm.Model
Name string `gorm:"unique; not null"`
SelectOne1 string `gorm:"not null"`
SelectOne2 string `gorm:"not null"`
SelectOne3 string `gorm:"not null"`
CheckBox1 bool `gorm:"not null"`
CheckBox2 bool `gorm:"not null"`
CheckBox3 bool `gorm:"not null"`
String1 string `gorm:"not null"`
String2 string `gorm:"not null"`
String3 string `gorm:"not null"`
String1Quality QualityEnum `gorm:"not null"`
String2Quality QualityEnum `gorm:"not null"`
String3Quality QualityEnum `gorm:"not null"`
Text1 string `gorm:"not null"`
Text2 string `gorm:"not null"`
Text3 string `gorm:"not null"`
Text1Quality QualityEnum `gorm:"not null"`
Text2Quality QualityEnum `gorm:"not null"`
Text3Quality QualityEnum `gorm:"not null"`
Integer1 int64 `gorm:"not null"`
Integer2 int64 `gorm:"not null"`
Integer3 int64 `gorm:"not null"`
Float1 float64 `gorm:"not null"`
Float2 float64 `gorm:"not null"`
Float3 float64 `gorm:"not null"`
Date1 time.Time `gorm:"not null"`
Date2 time.Time `gorm:"not null"`
Date3 time.Time `gorm:"not null"`
Timestamp1 time.Time `gorm:"not null"`
Timestamp2 time.Time `gorm:"not null"`
Timestamp3 time.Time `gorm:"not null"`
/*SelectMany1 []string `gorm:"not null"`
SelectMany2 []string `gorm:"not null"`
SelectMany3 []string `gorm:"not null"`*/
}

type BaseMetaFeature struct {
gorm.Model
Name string `gorm:"unique"`
ShortName string `gorm:"unique"`
Type TypeEnum
GroupID uint
Name string `gorm:"unique; not null"`
ShortName string `gorm:"unique; not null"`
GroupID uint `gorm:"not null"`
Group FeatureGroup `gorm:"foreignkey:GroupID;association_autocreate:false;association_autoupdate:false"`
ColumnNum int `gorm:"unique; not null"`
}

type FeatureGroup struct {
gorm.Model
Name string `gorm:"unique"`
ShortName string `gorm:"unique"`
ColorID uint
Color Color `gorm:"foreignkey:ColorID;association_autocreate:false;association_autoupdate:false"`
Name string `gorm:"unique; not null"`
ShortName string `gorm:"unique; not null"`
ColorID uint `gorm:"not null"`
Color Color `gorm:"foreignkey:ColorID;association_autocreate:false;association_autoupdate:false"`
}

type Color struct {
gorm.Model
Name string `gorm:"unique"`
HexValue string `gorm:"unique"`
Name string `gorm:"unique; not null"`
HexValue string `gorm:"unique; not null"`
}

type SelectOneMetaFeature struct {
BaseMetaFeature
Order int `gorm:"not null"`
Value string `gorm:"not null"`
Quality QualityEnum `gorm:"not null"`
}

type CheckBoxMetaFeature struct {
BaseMetaFeature
QualityChecked QualityEnum `gorm:"not null"`
QualityUnchecked QualityEnum `gorm:"not null"`
}

type StringMetaFeature struct {
BaseMetaFeature
MinLength uint `gorm:"not null"`
MaxLength uint `gorm:"not null"`
}

type TextMetaFeature struct {
BaseMetaFeature
MinLength uint `gorm:"not null"`
MaxLength uint `gorm:"not null"`
}

type IntegerMetaFeature struct {
BaseMetaFeature
NeutralMin int64 `gorm:"not null"`
NeutralMax int64 `gorm:"not null"`
BadMin int64 `gorm:"not null"`
BadMax int64 `gorm:"not null"`
PerfectMin int64 `gorm:"not null"`
PerfectMax int64 `gorm:"not null"`
}

type FloatMetaFeature struct {
BaseMetaFeature
NeutralMin float64 `gorm:"not null"`
NeutralMax float64 `gorm:"not null"`
BadMin float64 `gorm:"not null"`
BadMax float64 `gorm:"not null"`
PerfectMin float64 `gorm:"not null"`
PerfectMax float64 `gorm:"not null"`
}

type DateMetaFeature struct {
BaseMetaFeature
// still decide
}

type TimestampMetaFeature struct {
BaseMetaFeature
// still decide
}

type SelectManyMetaFeature struct {
BaseMetaFeature
Order int `gorm:"not null"`
Value string `gorm:"not null"`
Quality QualityEnum `gorm:"not null"`
}
24 changes: 24 additions & 0 deletions mygorm/breedingbookfunc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package mygorm

import (
"fmt"
"github.com/jinzhu/gorm"
)

/*
Init initializes the qor admin UI by creating and configuring all resources.
*/

func Init2(db *gorm.DB) error {
// Set up the database
if err := db.AutoMigrate(&DogTest{}, &FeatureGroup{}, &Color{}, &SelectOneMetaFeature{}, &CheckBoxMetaFeature{},
&StringMetaFeature{}, &TextMetaFeature{}, &IntegerMetaFeature{}, &FloatMetaFeature{}, &DateMetaFeature{}, &TimestampMetaFeature{}).Error; err != nil {
return fmt.Errorf("unable to migrate DB to current state: %v", err)
}

// Initalize

// Create resources from GORM-backend model

return nil
}
1 change: 1 addition & 0 deletions mygorm/gorm.go
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -520,6 +520,7 @@ func Init(dbFname string) (*gorm.DB, error) {
if err != nil {
return nil, fmt.Errorf("unable to create view 'all_mates': %v", err)
}
Init2(db)
return db, nil
}

Expand Down
Loading