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 щоб зробити перший простий додаток. Звісно, подальший розвиток буде вимагати більш детального вивчення СУБД, але зверніть увагу - для переходу на нову СУБД нам майже нічого не довелося переписувати і косячити копатися ручками у базі.
Бажаю успіхів.
по ссылке нет бинарника
Спасибо за замечание. Испраил.
Недавні записи
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
- DC-DC для IGBT драйверів ізольований 2 W +15 -8 вольт
- U-FOC - Векторне керування безколекторними моторами
- FOC - своя реалізація векторного керування. Підбиваю підсумки 2022 року
- Конструктор регуляторів моторів. Підбиваю підсумки 2022 року.
- Чому трифазні мотори стали такими популярними?
- FOC & Polar coordinates
- Конструктор регуляторів PMSM, BLDC двигунів
Tags
ngnix avr brushless motor examples dma books lcd usb dht11 piezo led servo web pmsm esp8266 ssd1331 wifi bme280 mpu-9250 capture hih-4000 bldc programmator rs-232 ethernet docker dc-dc sms bkp stm32 css git uart meteo bmp280 3d-printer displays mpx4115a eeprom max1674 soldering atmega timer gps tim flash nvic html java-script pwm solar rfid nodemcu st-link options watchdog adc gpio battery bluetooth raspberry-pi python websocket usart foc mongodb flask mpu-6050 barometer exti smd ssd1306 i2c sensors remap rtc encoder eb-500
Архіви