diff --git a/pkg/files/files.go b/pkg/files/files.go index 7ca7c7239..78ce31f1b 100644 --- a/pkg/files/files.go +++ b/pkg/files/files.go @@ -19,16 +19,20 @@ package files import "time" type File struct { - ID int64 - Name string - Kind string - Size float64 + ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"` + Name string `xorm:"text not null" json:"name"` + Mime string `xorm:"text null" json:"mime"` + Size float64 `xorm:"double not null default 0" json:"size"` - Created time.Time - Updated time.Time + Created time.Time `xorm:"datetime" json:"created"` + Updated time.Time `xorm:"datetime" json:"updated"` - InsertedUnix int64 - CreatedByID int64 + InsertedUnix int64 `xorm:"created" json:"inserted_unix"` + CreatedByID int64 `xorm:"int(11) not null" json:"-"` +} + +func (File) TableName() string { + return "files" } func (f *File) GetFileFromID() (err error) { diff --git a/pkg/migration/20191008194238.go b/pkg/migration/20191008194238.go new file mode 100644 index 000000000..1992bef01 --- /dev/null +++ b/pkg/migration/20191008194238.go @@ -0,0 +1,53 @@ +// Vikunja is a todo-list application to facilitate your life. +// Copyright 2019 Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package migration + +import ( + "github.com/go-xorm/xorm" + "src.techknowlogick.com/xormigrate" + "time" +) + +type file20191008194238 struct { + ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"` + Name string `xorm:"text not null" json:"name"` + Mime string `xorm:"text null" json:"mime"` + Size float64 `xorm:"double not null default 0" json:"size"` + + Created time.Time `xorm:"datetime" json:"created"` + Updated time.Time `xorm:"datetime" json:"updated"` + + InsertedUnix int64 `xorm:"created" json:"inserted_unix"` + CreatedByID int64 `xorm:"int(11) not null" json:"-"` +} + +func (file20191008194238) TableName() string { + return "files" +} + +func init() { + migrations = append(migrations, &xormigrate.Migration{ + ID: "20191008194238", + Description: "Added files table", + Migrate: func(tx *xorm.Engine) error { + return tx.Sync2(file20191008194238{}) + }, + Rollback: func(tx *xorm.Engine) error { + return tx.DropTables(file20191008194238{}) + }, + }) +}