40 lines
1.0 KiB
Go
40 lines
1.0 KiB
Go
package updates
|
|
|
|
import (
|
|
"github.com/go-gormigrate/gormigrate/v2"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// createRules creates golem15_seo_rules: per-URL SEO for exact addresses
|
|
// and patterns (D-02), one rule per address and match.
|
|
var createRules = []*gormigrate.Migration{
|
|
{
|
|
ID: "202610270005_create_golem15_seo_rules",
|
|
Migrate: func(tx *gorm.DB) error {
|
|
return tx.Exec(`CREATE TABLE golem15_seo_rules (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
url TEXT NOT NULL,
|
|
match TEXT NOT NULL DEFAULT 'exact',
|
|
title TEXT NOT NULL DEFAULT '',
|
|
description TEXT NOT NULL DEFAULT '',
|
|
canonical TEXT NOT NULL DEFAULT '',
|
|
robots TEXT NOT NULL DEFAULT '',
|
|
og_title TEXT NOT NULL DEFAULT '',
|
|
og_description TEXT NOT NULL DEFAULT '',
|
|
og_image TEXT NOT NULL DEFAULT '',
|
|
note TEXT NOT NULL DEFAULT '',
|
|
created_at TIMESTAMP(0) NULL,
|
|
updated_at TIMESTAMP(0) NULL,
|
|
CONSTRAINT golem15_seo_rules_url_match UNIQUE (url, match)
|
|
)`).Error
|
|
},
|
|
Rollback: func(tx *gorm.DB) error {
|
|
return tx.Exec(`DROP TABLE IF EXISTS golem15_seo_rules`).Error
|
|
},
|
|
},
|
|
}
|
|
|
|
func init() {
|
|
Register(createRules...)
|
|
}
|