migrations.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package migrations
  2. import "time"
  3. // Id int64
  4. // Login string `xorm:"UNIQUE NOT NULL"`
  5. // Email string `xorm:"UNIQUE NOT NULL"`
  6. // Name string
  7. // FullName string
  8. // Password string
  9. // IsAdmin bool
  10. // Salt string `xorm:"VARCHAR(10)"`
  11. // Company string
  12. // NextDashboardId int
  13. // UsingAccountId int64
  14. // Created time.Time
  15. // Updated time.Time
  16. func AddMigrations(mg *Migrator) {
  17. // TABLE Account
  18. // -------------------------------
  19. mg.AddMigration("create account table", new(RawSqlMigration).
  20. Sqlite(`
  21. CREATE TABLE account (
  22. id INTEGER PRIMARY KEY AUTOINCREMENT,
  23. login TEXT NOT NULL,
  24. email TEXT NOT NULL,
  25. name TEXT NULL,
  26. password TEXT NULL,
  27. salt TEXT NULL,
  28. company TEXT NULL,
  29. using_account_id INTEGER NULL,
  30. is_admin INTEGER NOT NULL,
  31. created INTEGER NOT NULL,
  32. updated INTEGER NOT NULL
  33. )
  34. `).
  35. Mysql(`
  36. CREATE TABLE account (
  37. id BIGINT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id),
  38. login VARCHAR(255) NOT NULL,
  39. email VARCHAR(255) NOT NULL,
  40. name VARCHAR(255) NULL,
  41. password VARCHAR(50) NULL,
  42. salt VARCHAR(50) NULL,
  43. company VARCHAR(255) NULL,
  44. using_account_id BIGINT NULL,
  45. is_admin BOOL NOT NULL,
  46. created DATETIME NOT NULL,
  47. update DATETIME NOT NULL
  48. )
  49. `))
  50. // ------------------------------
  51. mg.AddMigration("add index UIX_account.login", new(AddIndexMigration).
  52. Name("UIX_account_login").Table("account").Columns("login"))
  53. // ------------------------------
  54. // mg.AddMigration("add column", new(AddColumnMigration).
  55. // Table("account").Column("name").Type(DB_TYPE_STRING).Length(255))
  56. }
  57. type MigrationLog struct {
  58. Id int64
  59. MigrationId string
  60. Sql string
  61. Success bool
  62. Error string
  63. Timestamp time.Time
  64. }