2017 © Pedro Peláez
 

project schema

Database schema exporter

image

rzajac/schema

Database schema exporter

  • Wednesday, May 9, 2018
  • by rzajac
  • Repository
  • 1 Watchers
  • 1 Stars
  • 13 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 26 Versions
  • 0 % Grown

The README.md

schema

GoDoc Build Status Sourcegraph, (*1)

Package gorilla/schema converts structs to and from form values., (*2)

Example

Here's a quick example: we parse POST form values and then decode them into a struct:, (*3)

// Set a Decoder instance as a package global, because it caches
// meta-data about structs, and an instance can be shared safely.
var decoder = schema.NewDecoder()

type Person struct {
    Name  string
    Phone string
}

func MyHandler(w http.ResponseWriter, r *http.Request) {
    err := r.ParseForm()
    if err != nil {
        // Handle error
    }

    var person Person

    // r.PostForm is a map of our POST form values
    err = decoder.Decode(&person, r.PostForm)
    if err != nil {
        // Handle error
    }

    // Do something with person.Name or person.Phone
}

Conversely, contents of a struct can be encoded into form values. Here's a variant of the previous example using the Encoder:, (*4)

var encoder = schema.NewEncoder()

func MyHttpRequest() {
    person := Person{"Jane Doe", "555-5555"}
    form := url.Values{}

    err := encoder.Encode(person, form)

    if err != nil {
        // Handle error
    }

    // Use form values, for example, with an http client
    client := new(http.Client)
    res, err := client.PostForm("http://my-api.test", form)
}

To define custom names for fields, use a struct tag "schema". To not populate certain fields, use a dash for the name and it will be ignored:, (*5)

type Person struct {
    Name  string `schema:"name,required"`  // custom name, must be supplied
    Phone string `schema:"phone"`          // custom name
    Admin bool   `schema:"-"`              // this field is never set
}

The supported field types in the struct are:, (*6)

  • bool
  • float variants (float32, float64)
  • int variants (int, int8, int16, int32, int64)
  • string
  • uint variants (uint, uint8, uint16, uint32, uint64)
  • struct
  • a pointer to one of the above types
  • a slice or a pointer to a slice of one of the above types

Unsupported types are simply ignored, however custom types can be registered to be converted., (*7)

More examples are available on the Gorilla website: https://www.gorillatoolkit.org/pkg/schema, (*8)

License

BSD licensed. See the LICENSE file for details., (*9)

The Versions

09/05 2018

dev-master

9999999-dev

Database schema exporter

  Sources   Download

Apache-2.0 Apache License 2.0

The Requires

 

The Development Requires

by Rafal Zajac

database schema

09/05 2018

0.9.0

0.9.0.0

Database schema exporter

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

by Rafal Zajac

database schema

30/08 2016

0.8.2

0.8.2.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

by Rafal Zajac

database schema

29/08 2016

0.8.1

0.8.1.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

by Rafal Zajac

database schema

29/08 2016

0.8.0

0.8.0.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

by Rafal Zajac

database schema

24/08 2016

0.7.7

0.7.7.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

by Rafal Zajac

database schema

21/08 2016

0.7.6

0.7.6.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

by Rafal Zajac

database schema

21/08 2016

0.7.5

0.7.5.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

19/08 2016

0.7.4

0.7.4.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

19/08 2016

0.7.3

0.7.3.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

19/08 2016

0.7.2

0.7.2.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

18/08 2016

0.7.1

0.7.1.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

29/07 2016

0.7.0

0.7.0.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

20/07 2016

0.6.0

0.6.0.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

09/07 2016

0.5.4

0.5.4.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

11/12 2015

0.5.3

0.5.3.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

29/11 2015

0.5.2

0.5.2.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

29/11 2015

0.5.1

0.5.1.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

29/11 2015

0.5.0

0.5.0.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

23/11 2015

0.4.6

0.4.6.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

23/11 2015

0.4.5

0.4.5.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

10/11 2015

0.4.4

0.4.4.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

10/11 2015

0.4.3

0.4.3.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

10/11 2015

0.4.2

0.4.2.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

10/11 2015

0.4.1

0.4.1.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema

09/11 2015

0.4.0

0.4.0.0

Database schema exporter

  Sources   Download

Apache License 2.0

The Requires

 

The Development Requires

database schema