The easiest solution to seed database with Go
Switch branches/tags
Clone or download
Latest commit cfea46e Sep 25, 2018

README.md

GoDoc Go Report Card Build Status

polluter

Mainly this package was created for testing purposes, to give the ability to seed a database with records from simple .yaml files. Polluter respects the order in files, so you can handle foreign_keys just by placing them in the right order.

Usage

package main

import "github.com/romanyx/polluter"

const input = `
roles:
- name: User
users:
- name: Roman
  role_id: 1
`

func TestX(t *testing.T) {
	db := prepareMySQL(t)
	defer db.Close()
	p := polluter.New(polluter.MySQLEngine(db))

	if err := p.Pollute(strings.NewReader(input)); err != nil {
		t.Fatalf("failed to pollute: %s", err)
	}

	....
}

Examples

See examples of usage with parallel testing.

Testing

Make shure to start docker before testing.

make start
go test

Supported databases

  • MySQL
  • Postgres
  • Redis

Contributing

Please feel free to submit issues, fork the repository and send pull requests!