mirror of
https://github.com/Eggbertx/gochan.git
synced 2025-08-17 10:56:24 -07:00
Add country and flag columns to DB version 3 schema
This commit is contained in:
parent
b3e7af65f7
commit
1deec0e462
8 changed files with 110 additions and 3 deletions
|
@ -164,5 +164,30 @@ func updateMysqlDB(db *gcsql.GCDB, tx *sql.Tx, criticalCfg *config.SystemCritica
|
|||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// add flag column to DBPREFIXposts
|
||||
dataType, err = common.ColumnType(db, tx, "flag", "DBPREFIXposts", criticalCfg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if dataType == "" {
|
||||
query = `ALTER TABLE DBPREFIXposts ADD COLUMN flag VARCHAR(45) NOT NULL DEFAULT ''`
|
||||
if _, err = db.ExecTxSQL(tx, query); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// add country column to DBPREFIXposts
|
||||
dataType, err = common.ColumnType(db, tx, "country", "DBPREFIXposts", criticalCfg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if dataType == "" {
|
||||
query = `ALTER TABLE DBPREFIXposts ADD COLUMN country VARCHAR(80) NOT NULL DEFAULT ''`
|
||||
if _, err = db.ExecTxSQL(tx, query); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -68,5 +68,30 @@ func updatePostgresDB(db *gcsql.GCDB, tx *sql.Tx, criticalCfg *config.SystemCrit
|
|||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// add flag column to DBPREFIXposts
|
||||
dataType, err = common.ColumnType(db, tx, "flag", "DBPREFIXposts", criticalCfg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if dataType == "" {
|
||||
query = `ALTER TABLE DBPREFIXposts ADD COLUMN flag VARCHAR(45) NOT NULL DEFAULT ''`
|
||||
if _, err = db.ExecTxSQL(tx, query); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// add country column to DBPREFIXposts
|
||||
dataType, err = common.ColumnType(db, tx, "country", "DBPREFIXposts", criticalCfg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if dataType == "" {
|
||||
query = `ALTER TABLE DBPREFIXposts ADD COLUMN country VARCHAR(80) NOT NULL DEFAULT ''`
|
||||
if _, err = db.ExecTxSQL(tx, query); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ import (
|
|||
)
|
||||
|
||||
func updateSqliteDB(db *gcsql.GCDB, tx *sql.Tx, criticalCfg *config.SystemCriticalConfig) error {
|
||||
var query string
|
||||
_, err := db.ExecSQL(`PRAGMA foreign_keys = ON`)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -18,7 +19,55 @@ func updateSqliteDB(db *gcsql.GCDB, tx *sql.Tx, criticalCfg *config.SystemCritic
|
|||
return err
|
||||
}
|
||||
if dataType == "" {
|
||||
query := `ALTER TABLE DBPREFIXwordfilters ADD COLUMN board_dirs varchar(255) DEFAULT '*'`
|
||||
query = `ALTER TABLE DBPREFIXwordfilters ADD COLUMN board_dirs varchar(255) DEFAULT '*'`
|
||||
if _, err = db.ExecTxSQL(tx, query); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Add range_start column to DBPREFIXIp_ban if it doesn't exist
|
||||
dataType, err = common.ColumnType(db, tx, "DBPREFIXip_ban", "range_start", criticalCfg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if dataType == "" {
|
||||
query = `ALTER TABLE DBPREFIXip_ban ADD COLUMN range_start VARCHAR(45) NOT NULL`
|
||||
if _, err = db.ExecTxSQL(tx, query); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Add range_start column if it doesn't exist
|
||||
dataType, err = common.ColumnType(db, tx, "DBPREFIXip_ban", "range_end", criticalCfg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if dataType == "" {
|
||||
query = `ALTER TABLE DBPREFIXip_ban ADD COLUMN range_end VARCHAR(45) NOT NULL`
|
||||
if _, err = db.ExecTxSQL(tx, query); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// add flag column to DBPREFIXposts
|
||||
dataType, err = common.ColumnType(db, tx, "flag", "DBPREFIXposts", criticalCfg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if dataType == "" {
|
||||
query = `ALTER TABLE DBPREFIXposts ADD COLUMN flag VARCHAR(45) NOT NULL DEFAULT ''`
|
||||
if _, err = db.ExecTxSQL(tx, query); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// add country column to DBPREFIXposts
|
||||
dataType, err = common.ColumnType(db, tx, "country", "DBPREFIXposts", criticalCfg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if dataType == "" {
|
||||
query = `ALTER TABLE DBPREFIXposts ADD COLUMN country VARCHAR(80) NOT NULL DEFAULT ''`
|
||||
if _, err = db.ExecTxSQL(tx, query); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ var (
|
|||
// but zero or more than one versions were found
|
||||
ErrInvalidVersion = errors.New("database contains database_version table but zero or more than one versions were found")
|
||||
ErrCorruptedDB = errors.New("database contains gochan prefixed tables but is missing versioning tables (possibly corrupted)")
|
||||
ErrDeprecatedDB = errors.New("database layout is deprecated, please run gochan-migrate -updatedb")
|
||||
ErrDeprecatedDB = errors.New("database layout is deprecated, please run gochan-migration -updatedb")
|
||||
ErrInvalidDBVersion = errors.New("invalid version flag returned by GetCompleteDatabaseVersion()")
|
||||
)
|
||||
|
||||
|
@ -51,7 +51,7 @@ func GetCompleteDatabaseVersion() (dbVersion, dbFlag int, err error) {
|
|||
if versionTableExists {
|
||||
databaseVersion, versionError := getDatabaseVersion(gochanVersionKeyConstant)
|
||||
if versionError != nil {
|
||||
return 0, 0, ErrInvalidVersion
|
||||
return 0, 0, versionError
|
||||
}
|
||||
if databaseVersion < targetDatabaseVersion {
|
||||
return databaseVersion, DBModernButBehind, nil
|
||||
|
|
|
@ -80,6 +80,8 @@ CREATE TABLE DBPREFIXposts(
|
|||
deleted_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
is_deleted BOOL NOT NULL DEFAULT FALSE,
|
||||
banned_message TEXT,
|
||||
flag VARCHAR(45) NOT NULL DEFAULT '',
|
||||
country VARCHAR(80) NOT NULL DEFAULT '',
|
||||
CONSTRAINT posts_thread_id_fk FOREIGN KEY(thread_id) REFERENCES DBPREFIXthreads(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
|
|
@ -80,6 +80,8 @@ CREATE TABLE DBPREFIXposts(
|
|||
deleted_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
is_deleted BOOL NOT NULL DEFAULT FALSE,
|
||||
banned_message TEXT,
|
||||
flag VARCHAR(45) NOT NULL DEFAULT '',
|
||||
country VARCHAR(80) NOT NULL DEFAULT '',
|
||||
CONSTRAINT posts_thread_id_fk FOREIGN KEY(thread_id) REFERENCES DBPREFIXthreads(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
|
|
@ -80,6 +80,8 @@ CREATE TABLE DBPREFIXposts(
|
|||
deleted_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
is_deleted BOOL NOT NULL DEFAULT FALSE,
|
||||
banned_message TEXT,
|
||||
flag VARCHAR(45) NOT NULL DEFAULT '',
|
||||
country VARCHAR(80) NOT NULL DEFAULT '',
|
||||
CONSTRAINT posts_thread_id_fk FOREIGN KEY(thread_id) REFERENCES DBPREFIXthreads(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
|
|
@ -80,6 +80,8 @@ CREATE TABLE DBPREFIXposts(
|
|||
deleted_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
is_deleted BOOL NOT NULL DEFAULT FALSE,
|
||||
banned_message TEXT,
|
||||
flag VARCHAR(45) NOT NULL DEFAULT '',
|
||||
country VARCHAR(80) NOT NULL DEFAULT '',
|
||||
CONSTRAINT posts_thread_id_fk FOREIGN KEY(thread_id) REFERENCES DBPREFIXthreads(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue