org_mig.go 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package migrations
  2. import . "github.com/grafana/grafana/pkg/services/sqlstore/migrator"
  3. func addOrgMigrations(mg *Migrator) {
  4. //------- org table -------------------
  5. mg.AddMigration("create org table", new(AddTableMigration).
  6. Name("org").WithColumns(
  7. &Column{Name: "id", Type: DB_BigInt, IsPrimaryKey: true, IsAutoIncrement: true},
  8. &Column{Name: "version", Type: DB_Int, Nullable: false},
  9. &Column{Name: "name", Type: DB_NVarchar, Length: 255, Nullable: false},
  10. &Column{Name: "address1", Type: DB_NVarchar, Length: 255, Nullable: true},
  11. &Column{Name: "address2", Type: DB_NVarchar, Length: 255, Nullable: true},
  12. &Column{Name: "city", Type: DB_NVarchar, Length: 255, Nullable: true},
  13. &Column{Name: "state", Type: DB_NVarchar, Length: 255, Nullable: true},
  14. &Column{Name: "zip_code", Type: DB_NVarchar, Length: 50, Nullable: true},
  15. &Column{Name: "country", Type: DB_NVarchar, Length: 255, Nullable: true},
  16. &Column{Name: "billing_email", Type: DB_NVarchar, Length: 255, Nullable: true},
  17. &Column{Name: "created", Type: DB_DateTime, Nullable: false},
  18. &Column{Name: "updated", Type: DB_DateTime, Nullable: false},
  19. ))
  20. //------- indices -------------------
  21. mg.AddMigration("add unique index org.name", new(AddIndexMigration).
  22. Table("org").Columns("name").Unique())
  23. //------- org_user table -------------------
  24. mg.AddMigration("create org_user table", new(AddTableMigration).
  25. Name("org_user").WithColumns(
  26. &Column{Name: "id", Type: DB_BigInt, IsPrimaryKey: true, IsAutoIncrement: true},
  27. &Column{Name: "org_id", Type: DB_BigInt},
  28. &Column{Name: "user_id", Type: DB_BigInt},
  29. &Column{Name: "role", Type: DB_NVarchar, Length: 20},
  30. &Column{Name: "created", Type: DB_DateTime},
  31. &Column{Name: "updated", Type: DB_DateTime},
  32. ))
  33. //------- indices -------------------
  34. mg.AddMigration("add unique index org_user_aid_uid", new(AddIndexMigration).
  35. Name("org_user_aid_uid").Table("org_user").Columns("org_id", "user_id").Unique())
  36. //------- TEMP table rename / copy data -------------------
  37. mg.AddMigration("copy data from old account table", new(CopyTableDataMigration).
  38. Source("account", "id, version, name, created, updated").
  39. Target("org", "id, version, name, created, updated").
  40. IfTableExists("account"))
  41. mg.AddMigration("copy data from old account_user table", new(CopyTableDataMigration).
  42. Source("account_user", "id, account_id, user_id, role, created, updated").
  43. Target("org_user", "id, org_id, user_id, role, created, updated").
  44. IfTableExists("account_user"))
  45. mg.AddMigration("Drop old table account", new(DropTableMigration).Table("account"))
  46. mg.AddMigration("Drop old table account_user", new(DropTableMigration).Table("account_user"))
  47. }