Golang + Vue + PostgreSQL #2
У цьому прикладі: Все те саме, що і в попередньому прикладі, тільки з базою даних PostgreSQL.
Як переглянути цей приклад?
Підготовка PostgreSQL
- Встановіть PostgreSQL (port 5432)
- Для користувача postgres встановіть пароль postgres
- Створіть базу даних з назвою test. Нічого в ній не робіть
База даних готова, тепер - запускаємо приклад.
Запуск прикладу Golang + Vue + PostgreSQL
Далі два варіанти:
Варіант 1 (Не потребує встановлення Golang та модулів):
- Завантажте архів і розпакуйте його до будь-якої директорії на Вашому комп'ютері.
- Запустіть бінарний файл 'main'. Зачекайте поки додаток створить все необхідне в базі даних.
- Відкрийте браузер за посиланням http://localhost:5000/frontend/
Варіант 2 (потребує встановленого Golang):
- Завантажте архів і розпакуйте його до будь-якої директорії на Вашому комп'ютері.
- У директорії з файлом main.go виконайте команду go mod tidy
- Запустіть додаток командою go run ./main.go. Зачекайте поки додаток створить все необхідне в базі даних.
- Відкрийте браузер за посиланням http://localhost:5000/frontend/
login: admin
password: admin
Приємного перегляду.
P.S. Оскільки база даних пуста, в неї буде додано тестові дані. Для цього прикладу створюються тільки користувачі і групи, щоб Ви могли потрапити в додаток. Решту даних я не заповнював - було ліньки. Перевіркою чи є в базі дані і занесенням початкових даних займається функція models.CheckAndFill() - допилюйте, якщо треба.
Що треба зробити в коді для переходу з SQLite на PostgreSQL ?
Інформація для розробників
database.DBConn перевести на нову СУБД:
func initDatabase() {
var err error
///// Sqlite
//database.DBConn, err = gorm.Open(sqlite.Open("db.sqlite"), &gorm.Config{})
/////
///// Postgres
dsn := "host=localhost user=postgres password=postgres dbname=test port=5432 sslmode=disable TimeZone=Europe/Kiev"
database.DBConn, err = gorm.Open(postgres.Open(dsn), &gorm.Config{})
/////
if err != nil {
panic("Failed to connect database")
}
fmt.Println("Connection Opened to Database")
database.DBConn.AutoMigrate(&models.Client{}, &models.Country{}, &models.Group{}, &models.Product{}, &models.Seller{}, &models.User{}, &models.Token{})
fmt.Println("Database Migrated")
//Fill the database with test data if the database is empty
models.CheckAndFill()
}
Я додав функцію models.CheckAndFill() для заповнення бази первинними даними. Але це не обов'язково.
Виконати команду:
go mod tidy
Можна запускати приклад командою go run ./main.go
Як бачите, нам не довилося поглиблено вивчати PostgreSQL, щоб зробити перший простий додаток. Звісно, подальший розвиток буде вимагати більш детального вивчення СУБД, але зверніть увагу - для переходу на нову СУБД нам майже нічого не довелося переписувати і косячити, копатися ручками в базі.
Бажаю успіхів.
по ссылке нет бинарника
Спасибо за замечание. Испраил.
Tags
web java-script bmp280 adc bldc stm32 rs-232 programmator 3d-printer flash pwm sms motor docker raspberry-pi meteo gps ngnix bme280 timer ssd1331 mpu-6050 bkp battery rfid st-link tim mpx4115a ssd1306 encoder atmega pmsm wifi options rtc examples nvic soldering mongodb esp8266 books lcd foc flask barometer bluetooth ethernet brushless uart watchdog servo gpio solar git remap dma usart eb-500 smd nodemcu sensors displays html python capture dht11 led i2c eeprom piezo exti websocket max1674 usb dc-dc avr hih-4000 css mpu-9250
Архіви