000000007.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package migrate
  2. import (
  3. "golang-fave/engine/sqlw"
  4. )
  5. func Migrate_000000007(db *sqlw.DB, host string) error {
  6. // Changes
  7. if _, err := db.Exec(`ALTER TABLE shop_products ADD COLUMN vendor VARCHAR(255) NOT NULL DEFAULT '' AFTER alias;`); err != nil {
  8. return err
  9. }
  10. if _, err := db.Exec(`ALTER TABLE shop_products ADD COLUMN quantity INT(11) NOT NULL DEFAULT 0 AFTER vendor;`); err != nil {
  11. return err
  12. }
  13. if _, err := db.Exec(`ALTER TABLE shop_products ADD COLUMN category INT(11) NOT NULL DEFAULT 1 AFTER quantity;`); err != nil {
  14. return err
  15. }
  16. // Indexes
  17. if _, err := db.Exec(`ALTER TABLE shop_products ADD KEY FK_shop_products_category (category);`); err != nil {
  18. return err
  19. }
  20. // References
  21. if _, err := db.Exec(`
  22. ALTER TABLE shop_products ADD CONSTRAINT FK_shop_products_category
  23. FOREIGN KEY (category) REFERENCES shop_cats (id) ON DELETE RESTRICT;
  24. `); err != nil {
  25. return err
  26. }
  27. // Remove default
  28. if _, err := db.Exec(`ALTER TABLE shop_products ALTER vendor DROP DEFAULT;`); err != nil {
  29. return err
  30. }
  31. if _, err := db.Exec(`ALTER TABLE shop_products ALTER quantity DROP DEFAULT;`); err != nil {
  32. return err
  33. }
  34. if _, err := db.Exec(`ALTER TABLE shop_products ALTER category DROP DEFAULT;`); err != nil {
  35. return err
  36. }
  37. return nil
  38. }