package
1.17.0
Repository: https://github.com/0chain/blobber.git
Documentation: pkg.go.dev

# README

How to auto migrate database schema

what is version. how it works

Given a version number TABLE.INDEX.COLUMN, increment the:

  • TABLE version when you add/drop any table,
  • INDEX version when you add/drop/update and index
  • COLUMN version when you add/drop/update any column

NB: current schema that is created by sql scripts is versioned as 0.0.0.

How to add a new version

Migrate table/column in gorm.AutoMigrate

if migration works with gorm.AutoMigrate, please use it to migrate.

  • update your model
  • added your model in AutoMigrateif it doesn't exists
 db.AutoMigrate(&Migration{},&YourModel{})

Migrate index/constraints manually if it is not easy to do in AutoMigrate

  • create a new Migration with scripts
  • append it in releases
var releases = []Migration{
	{
		Version:   "0.1.0",
		CreatedAt: time.Date(2021, 10, 15, 0, 0, 0, 0, time.UTC),
		Scripts: []string{
			"CREATE INDEX idx_allocation_path ON reference_objects (allocation_id,path);",
		},
	},
    {
		Version:   "0.1.1",
		CreatedAt: time.Date(2021, 10, 16, 0, 0, 0, 0, time.UTC),
		Scripts: []string{
			"sql1",
            "sql2",
		},
	},
}