fix(pkg/db): create or upgrade postgres schema based on semver

This commit is contained in:
2019-09-01 12:27:06 +02:00
parent f19cc3249a
commit 6223f4e79b
21 changed files with 301 additions and 91 deletions

View File

@ -6,6 +6,7 @@ import (
"os"
"time"
"github.com/Masterminds/semver"
"github.com/go-flucky/flucky/cmd/compression"
"github.com/go-flucky/flucky/cmd/convert"
"github.com/go-flucky/flucky/cmd/daemon"
@ -62,8 +63,8 @@ var rootCmd = &cobra.Command{
}
// Execute a
func Execute(version string) {
rootCmd.Version = version
func Execute(version *semver.Version) {
rootCmd.Version = version.String()
rootCmd.PersistentFlags().StringVar(&configFile, "config", "/etc/flucky/config.json", "Config file")

View File

@ -3,13 +3,18 @@ package compression
import (
"log"
"github.com/Masterminds/semver"
"github.com/go-flucky/flucky/pkg/logfile"
"github.com/spf13/cobra"
)
var compression bool
var configFile *string
var (
compression bool
configFile *string
version *semver.Version
)
var compressionCmd = &cobra.Command{
Use: "compression",
@ -33,8 +38,10 @@ var compressionCmd = &cobra.Command{
},
}
func InitCmd(cmd *cobra.Command, cnfFile *string) {
func InitCmd(cmd *cobra.Command, cnfFile *string, sverion *semver.Version) {
configFile = cnfFile
version = sverion
cmd.AddCommand(compressionCmd)
}

View File

@ -3,13 +3,18 @@ package convert
import (
"log"
"github.com/Masterminds/semver"
"github.com/go-flucky/flucky/pkg/logfile"
"github.com/spf13/cobra"
)
var compression bool
var configFile *string
var (
compression bool
configFile *string
version *semver.Version
)
var convertCmd = &cobra.Command{
Use: "convert",
@ -37,9 +42,10 @@ var convertCmd = &cobra.Command{
}
// Execute a
func InitCmd(cmd *cobra.Command, cnfFile *string) {
func InitCmd(cmd *cobra.Command, cnfFile *string, sversion *semver.Version) {
configFile = cnfFile
version = sversion
cmd.AddCommand(convertCmd)
convertCmd.Flags().BoolVar(&compression, "compression", true, "Compress measured values")
}

View File

@ -4,17 +4,22 @@ import (
"log"
"time"
"github.com/Masterminds/semver"
"github.com/go-flucky/flucky/pkg/config"
"github.com/go-flucky/flucky/pkg/daemon"
"github.com/go-flucky/flucky/pkg/logger"
"github.com/spf13/cobra"
)
var cleanCacheInterval string
var compression bool
var configFile *string
var round float64
var temperatureUnit string
var (
cleanCacheInterval string
compression bool
configFile *string
round float64
temperatureUnit string
version *semver.Version
)
var daemonCmd = &cobra.Command{
Use: "daemon",
@ -38,8 +43,10 @@ var daemonCmd = &cobra.Command{
},
}
func InitCmd(cmd *cobra.Command, cnfFile *string) {
func InitCmd(cmd *cobra.Command, cnfFile *string, sverion *semver.Version) {
configFile = cnfFile
version = sversion
cmd.AddCommand(daemonCmd)
daemonCmd.Flags().BoolVar(&compression, "compression", true, "Compress measured values")
daemonCmd.Flags().StringVar(&cleanCacheInterval, "clean-cache-interval", "5m", "Minute intervall to clean cache and write measured values into logfile")

View File

@ -4,12 +4,17 @@ import (
"context"
"log"
"github.com/Masterminds/semver"
database "github.com/go-flucky/flucky/pkg/db"
"github.com/go-flucky/flucky/pkg/types"
"github.com/spf13/cobra"
)
var configFile *string
var (
configFile *string
version *semver.Version
)
var dbCmd = &cobra.Command{
Use: "db",
@ -41,8 +46,9 @@ var dbCmd = &cobra.Command{
}
// Execute a
func InitCmd(cmd *cobra.Command, cnfFile *string) {
func InitCmd(cmd *cobra.Command, cnfFile *string, sversion *semver.Version) {
configFile = cnfFile
version = sversion
cmd.AddCommand(dbCmd)

View File

@ -1,12 +1,17 @@
package humidity
import (
"github.com/Masterminds/semver"
"github.com/spf13/cobra"
)
var compression bool
var configFile *string
var round float64
var (
compression bool
configFile *string
round float64
version *semver.Version
)
var humidityCmd = &cobra.Command{
Use: "humidity",
@ -14,8 +19,9 @@ var humidityCmd = &cobra.Command{
}
// Execute a
func InitCmd(cmd *cobra.Command, cnfFile *string) {
func InitCmd(cmd *cobra.Command, cnfFile *string, sversion *semver.Version) {
configFile = cnfFile
version = sversion
cmd.AddCommand(humidityCmd)

View File

@ -1,12 +1,17 @@
package pressure
import (
"github.com/Masterminds/semver"
"github.com/spf13/cobra"
)
var compression bool
var configFile *string
var round float64
var (
compression bool
configFile *string
round float64
version *semver.Version
)
var pressureCmd = &cobra.Command{
Use: "pressure",
@ -14,8 +19,9 @@ var pressureCmd = &cobra.Command{
}
// Execute a
func InitCmd(cmd *cobra.Command, cnfFile *string) {
func InitCmd(cmd *cobra.Command, cnfFile *string, sversion *semver.Version) {
configFile = cnfFile
version = sversion
cmd.AddCommand(pressureCmd)

View File

@ -1,10 +1,15 @@
package rgbled
import (
"github.com/Masterminds/semver"
"github.com/spf13/cobra"
)
var configFile *string
var (
configFile *string
version *semver.Version
)
var rgbLedCmd = &cobra.Command{
Use: "rgb-led",
@ -12,8 +17,9 @@ var rgbLedCmd = &cobra.Command{
}
// InitCmd da
func InitCmd(cmd *cobra.Command, cnfFile *string) {
func InitCmd(cmd *cobra.Command, cnfFile *string, sversion *semver.Version) {
configFile = cnfFile
version = sversion
cmd.AddCommand(rgbLedCmd)

View File

@ -1,10 +1,15 @@
package sensor
import (
"github.com/Masterminds/semver"
"github.com/spf13/cobra"
)
var configFile *string
var (
configFile *string
version *semver.Version
)
var sensorCmd = &cobra.Command{
Use: "sensor",
@ -12,8 +17,9 @@ var sensorCmd = &cobra.Command{
}
// InitCmd da
func InitCmd(cmd *cobra.Command, cnfFile *string) {
func InitCmd(cmd *cobra.Command, cnfFile *string, sversion *semver.Version) {
configFile = cnfFile
version = sversion
cmd.AddCommand(sensorCmd)

View File

@ -3,12 +3,17 @@ package temperature
import (
"fmt"
"github.com/Masterminds/semver"
"github.com/spf13/cobra"
)
var compression bool
var configFile *string
var round float64
var (
compression bool
configFile *string
round float64
version *semver.Version
)
var temperatureCmd = &cobra.Command{
Use: "temperature",
@ -17,8 +22,10 @@ var temperatureCmd = &cobra.Command{
}
// Execute a
func InitCmd(cmd *cobra.Command, cnfFile *string) {
func InitCmd(cmd *cobra.Command, cnfFile *string, sversion *semver.Version) {
configFile = cnfFile
version = sversion
cmd.AddCommand(temperatureCmd)
}