code: func (m Migrator) Status() error {
  	err := m.CreateSchemaMigrations()
  	if err != nil {
  		return errors.WithStack(err)
  	}
  	w := tabwriter.NewWriter(os.Stdout, 0, 0, 3, ' ', tabwriter.TabIndent)
  	fmt.Fprintln(w, "Version\tName\tStatus\t")
  	for _, mf := range m.Migrations["up"] {
  		exists, err := m.Connection.Where("version = ?", mf.Version).Exists(m.Connection.MigrationTableName())
  		if err != nil {
  			return errors.Wrapf(err, "problem with migration")
  		}
  		state := "Pending"
  		if exists {
  			state = "Applied"
  		}
  		fmt.Fprintf(w, "%s\t%s\t%s\t\n", mf.Version, mf.Name, state)
  	}
  	return w.Flush()
  }
docs: // Status prints out the status of applied/pending migrations.