sqlfile

package module
v0.0.0-...-4f89548 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2022 License: MIT Imports: 4 Imported by: 0

README

sqlfile

CI/CD codecov goreport stars license

A Golang library for treating SQL file.

sqlfile can execute multiple queries defined in .sql file with database/sql

Installation

go get github.com/tanimutomo/sqlfile

Usage

SQL) Prepare sql file.

Don't forget add ; at last of each query.

-- example.sql

INSERT INTO users ( -- users table
  id, name, email, created_at, updated_at
) VALUES (
  1, 'user1', 'user1@example.com', now(), now() 
);

INSERT INTO articles ( -- articles table
  id, user_id, title, content, created_at, updated_at
) VALUES (
  1, 1, 'title1', "-- About -- \n I'm sqlfile.", now(), now() -- post1
), (
  2, 1, 'title2', '- About - \n I''m sqlfile.', now(), now() -- post2
);

Go) Load and Execute sql file.

import (
  "database/sql"
  "github.com/tanimutomo/sqlfile"
)

// Get a database handler
db, err := sql.Open("DBMS", "CONNECTION")

// Initialize SqlFile
s := sqlfile.New()

// Load input file and store queries written in the file
err := s.File("example.sql")

// Load input files and store queries written in the files
err := s.Files("example.sql", "example2.sql")

// Load files in the input directory and store queries written in the files
err := s.Directory("./examples")

// Execute the stored queries
// transaction is used to execute queries in Exec()
res, err := s.Exec(db)

Documentation

Overview

Package sqlfile provides a way to execute sql file easily

For more usage see https://github.com/tanimutomo/sqlfile

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SqlFile

type SqlFile struct {
	// contains filtered or unexported fields
}

SqlFile represents a queries holder

func New

func New() *SqlFile

New create new SqlFile object

func (*SqlFile) Directory

func (s *SqlFile) Directory(dir string) error

Directory add and load queries from *.sql files in specified directory

func (*SqlFile) Exec

func (s *SqlFile) Exec(db *sql.DB) (res []sql.Result, err error)

Exec execute SQL statements written int the specified sql file

func (*SqlFile) File

func (s *SqlFile) File(file string) error

File add and load queries from input file

func (*SqlFile) Files

func (s *SqlFile) Files(files ...string) error

Files add and load queries from multiple input files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL