Илья
у меня такого не было
Anton
вот и у меня не было(
Anton
до сегодняшнего дня
Илья
переустанови 🤗
Anton
ну звучит разумно
Anton
пофиксил проблему, ебанина была пиздец
Anton
go install скачивал бинари в другую папку
Anton
поставил туда переменную среды
Anton
не работает
Anton
ребутнул систему
Anton
у меня GOBIN снова поставился на пустую папку
Anton
хотя я его поменял
Anton
думаю блять иди нахуй, перекинул просто все бинари туда
Anton
и все заработало
Anton
вопрос какого хуя он инсталлит в другую папку
Anton
но это уже опхуй
Anton
буду как долбоеб перекидывать новые бинари
jk
скрипт напиши
jk
как умный )
Anton
да лан, новые бинари редко качаются в общем и целом
Anton
если над одним проектом сидишь с одним и тем же стеком
jk
а ну кстати, вот если проект есть который еще на гопасе держится а не на модулях, это сильно плохо, вроде как модули же хорошая практика
Anton
ну да, go mod сейчас везде и юзают
Anton
тут просто нужны конкретно бинари
Anton
для buf
jk
да я прост в общем спросил, надо один проект старый переписать, мне пчел говорит надо без модулей делать мол все это от лукавого, я сомневаюсь просто в таком подходе ))
Anton
ахахаха
Anton
не не
Anton
я если бы зашел в проект
Anton
и увидел бы, что нет go.mod
Anton
вышел бы моментально
Vladislav
создал бы и закоммитил бы
Vladislav
и дальше поехали
Anton
ну так изначально подход идти без go modules эт пздц
anhckie
кто-то пользовался golang-migrate для миграций в мускул? хочу сделать автонакатку миграций при поднятии аппки в контейнере, сделал по доке и получаю странные ошибки
app | panic: runtime error: invalid memory address or nil pointer dereference
app | [signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x658549]
app |
app | goroutine 35 [running]:
app | github.com/golang-migrate/migrate/v4.(*Migrate).lock.func3()
app | /go/pkg/mod/github.com/golang-migrate/migrate/v4@v4.15.1/migrate.go:922 +0x29
app | created by github.com/golang-migrate/migrate/v4.(*Migrate).lock
app | /go/pkg/mod/github.com/golang-migrate/migrate/v4@v4.15.1/migrate.go:921 +0x1ef
app exited with code 2
anhckie
вот и весь код
db, _ := sql.Open("mysql", "user:password@tcp(localhost:3306)/parser?multiStatements=true")
driver, _ := mysql.WithInstance(db, &mysql.Config{})
m, _ := migrate.NewWithDatabaseInstance(
"file:///migrations",
"mysql",
driver,
)
m.Up(2)
Илья
Илья
anhckie
ага, спасибо. сейчас чекну что там в ошибке
Илья
если поднимаешь в docker-compose, то миграцию можно вынести как контейнер
anhckie
ммм... звучит неплохо. а как реализовывается?
anhckie
типа просто отдельным контейнером собрать проект?
anhckie
и так же отдельно его поднимать при необходимости?
Илья
migrate:
image: migrate/migrate
Илья
anhckie
звучит круто) вероятно, потом переделаю на такой вариант, как заведу хотя бы в таком виде
anhckie
app | 2022/09/02 13:51:37 WithInstance: dial tcp 127.0.0.1:3306: connect: connection refused
anhckie
вот в чем трабл. только не совсем понимаю - почему рефьюзд?
Anton
Илья
Anton
если прям докопаться
Anton
дернуть метод у нил поинтера можно )
Anton
если его не разыменовывать
anhckie
Anton
anhckie
Илья
хм
anhckie
MYSQL_DATABASE: 'parser'
MYSQL_USER: 'user'
MYSQL_PASSWORD: 'password'
MYSQL_ROOT_PASSWORD: 'password'
Илья
посмотрел ошибку?
anhckie
ну вот она
app | 2022/09/02 13:51:37 WithInstance: dial tcp 127.0.0.1:3306: connect: connection refused
Anton
Илья
Anton
если не разыменовать и не дергать поля его
Anton
тогда всё ок
Anton
просто сама формулировка не совсем верная
Anton
доебался чисто
Anton
не обессудь
anhckie
version: '3.9'
services:
mysql:
container_name: db
image: mysql
volumes:
- db-data:/var/lib/db
environment:
MYSQL_DATABASE: 'parser'
MYSQL_USER: 'user'
MYSQL_PASSWORD: 'password'
MYSQL_ROOT_PASSWORD: 'password'
ports:
- '3306:3306'
app:
build: .
container_name: app
image: app
environment:
DB_URL: 'mysql://user:password@tcp(localhost)/parser'
ports:
- '8080:8080'
depends_on:
- mysql
volumes:
db-data:
Илья
впервые с докером работаешь?
anhckie
ну типа )
anhckie
что-то не так тут тоже?
Илья
нужно создать сеть между двумя контейнерами
Anton
Anton
я его фанат
anhckie
лять, я так и думал, а потом посмотрел какие-то статьи и типа у них и так работало)
jk
Илья
и вместо localhost название контейнера бд (т.е. mysql)
anhckie
да, готовченко