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