Skip to content

zatrasz75/tools_postgres

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

tools_postgres

psql

ΠŸΠ°ΠΊΠ΅Ρ‚ psql прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с PostgreSQL, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡƒΠ»ΠΎΠΌ соСдинСний, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ ΠΈ настройку ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Установка

Для использования ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π² ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

go get github.com/zatrasz75/tools_postgres

ИспользованиС

func main() {
  package main

import (
	"log"
	"time"

	"github.com/zatrasz75/tools_postgres/psql"
)
  
	// Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ PostgreSQL
	connStr := "postgres://user:password@localhost:5432/dbname"
	
		// Настройки ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ PostgreSQL
	PoolMax := 10                   // ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡƒΠ»Π° соСдинСний
	ConnAttempts := 5               // ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ
	ConnTimeout := 10 * time.Second // ВрСмя оТидания ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

	// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ с настройками
	pg, err := psql.New(connStr, psql.OptionSet(PoolMax, ConnAttempts, ConnTimeout))
	if err != nil {
		l.Fatal("ошибка запуска - postgres.New:", err)
	}
	defer pg.Close()
	
	err = pg.Migrate()
	if err != nil {
		log.Fatal("Ошибка выполнСния ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ: %v", err)
	}
	log.Println("ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ PostgreSQL ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ установлСно!")
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ структуры ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ

ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ migrations. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ структуры Ρ„Π°ΠΉΠ»ΠΎΠ²:

migrations/
β”œβ”€β”€ 0001_initial.sql
β”œβ”€β”€ 0002_add_users_table.sql
└── 0003_add_indexes.sql

sql

-- +migrate Up
CREATE TABLE IF NOT EXISTS users (
    id SERIAL PRIMARY KEY,
    name TEXT NOT NULL,
    email TEXT NOT NULL UNIQUE;
    
    -- +migrate Down
    DROP TABLE IF EXISTS users;
);

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages