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
pmsm mongodb bme280 bmp280 exti nodemcu timer ssd1331 dma sms meteo max1674 foc stm32 i2c eeprom adc usart git java-script programmator ssd1306 watchdog nvic html flask raspberry-pi st-link mpu-9250 remap examples rs-232 hih-4000 css rtc bkp bluetooth bldc motor esp8266 mpu-6050 encoder capture soldering ngnix wifi usb flash rfid displays tim battery avr smd websocket 3d-printer barometer books lcd python servo eb-500 atmega web pwm piezo mpx4115a uart dht11 solar gps options dc-dc ethernet brushless docker sensors gpio led
Архіви