Polluter Save

The easiest solution to seed database with Go

Project README

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.

go test

Supported databases

  • MySQL
  • Postgres
  • Redis

Contributing

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

Open Source Agenda is not affiliated with "Polluter" Project. README Source: romanyx/polluter
Stars
175
Open Issues
10
Last Commit
1 year ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating