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