database

package
v0.0.0-...-f7e103f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connect

func Connect(config Config) (*sql.DB, error)

Connect establishes a database connection using the provided configuration

func MigrateDefinitonData

func MigrateDefinitonData(db *sql.DB) error

MigrateDefinitonData migrates and sets up the definition tables in the database

func RunMigrations

func RunMigrations(db *sql.DB) error

RunMigrations executes all database migrations

Types

type Config

type Config struct {
	Host     string
	Port     string
	User     string
	Password string
	DBName   string
}

Config holds database connection parameters

func NewConfig

func NewConfig() Config

NewConfig creates a database config from environment variables

func (*Config) DSN

func (c *Config) DSN() string

DSN returns a MySQL connection string

type DefBuilding

type DefBuilding struct {
	ID          int    `json:"id"`
	Name        string `json:"token_name"`
	Cost        int    `json:"base_construction_cost"`
	BuildTime   int    `json:"base_construction_time"`
	Productions []int  `json:"productions"`
}

type DefProduct

type DefProduct struct {
	ID    int    `json:"id"`
	Name  string `json:"token_name"`
	Value int    `json:"base_value"`
}

type DefProduction

type DefProduction struct {
	ID       int     `json:"id"`
	Name     string  `json:"token_name"`
	Cost     float64 `json:"cost"`
	Duration int     `json:"base_duration"`
}

type DefRelProductionProduct

type DefRelProductionProduct struct {
	ProductionID int  `json:"production_id"`
	ProductID    int  `json:"product_id"`
	IsInput      bool `json:"is_input"`
	Amount       int  `json:"amount"`
}

type Migration

type Migration struct {
	Name string
	SQL  string
}

Migration represents a database schema change

func BuildingTableMigrations

func BuildingTableMigrations() []Migration

BuildingTableMigrations returns migrations for building-related tables

func MapTableMigrations

func MapTableMigrations() []Migration

MapTableMigrations returns migrations for map-related tables

func ProductTableMigrations

func ProductTableMigrations() []Migration

ProductTableMigrations returns migrations for product-related tables

func ProductionEntryTableMigrations

func ProductionEntryTableMigrations() []Migration

ProductionEntryTableMigrations returns migrations for production entries

func ProductionTableMigrations

func ProductionTableMigrations() []Migration

ProductionTableMigrations returns migrations for production-related tables

func RelationTableMigrations

func RelationTableMigrations() []Migration

RelationTableMigrations returns migrations for relation tables

func StorageTableMigrations

func StorageTableMigrations() []Migration

StorageTableMigrations returns migrations for storage-related tables

func UserTableMigrations

func UserTableMigrations() []Migration

UserTableMigrations returns migrations for user-related tables

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL