mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-18 08:26:45 +02:00
7cf4f2eb89
Requirements: MySQL/MariaDB need to be configured with this settings: innodb_file_format = Barracuda innodb_file_per_table = On innodb_large_prefix = On to support key prefix length up to 3042 bytes. MySQL/MariaDB DSN will need this parameter: parseTime=true as per [1] The migration system itself mostly inspired by Rails (ActiveRecord), but it still rough at the edges. Could use some inputs. Next Todo: more testing! [1] https://github.com/go-sql-driver/mysql#parsetime
54 lines
1.5 KiB
Go
54 lines
1.5 KiB
Go
package migrate
|
|
|
|
import (
|
|
"database/sql"
|
|
"errors"
|
|
)
|
|
|
|
type postgresqlDriver struct {
|
|
Tx *sql.Tx
|
|
}
|
|
|
|
func PostgreSQL(tx *sql.Tx) *MigrationDriver {
|
|
return &MigrationDriver{
|
|
Tx: tx,
|
|
Operation: &postgresqlDriver{Tx: tx},
|
|
}
|
|
}
|
|
|
|
func (p *postgresqlDriver) CreateTable(tableName string, args []string) (sql.Result, error) {
|
|
return nil, errors.New("not implemented yet")
|
|
}
|
|
|
|
func (p *postgresqlDriver) RenameTable(tableName, newName string) (sql.Result, error) {
|
|
return nil, errors.New("not implemented yet")
|
|
}
|
|
|
|
func (p *postgresqlDriver) DropTable(tableName string) (sql.Result, error) {
|
|
return nil, errors.New("not implemented yet")
|
|
}
|
|
|
|
func (p *postgresqlDriver) AddColumn(tableName, columnSpec string) (sql.Result, error) {
|
|
return nil, errors.New("not implemented yet")
|
|
}
|
|
|
|
func (p *postgresqlDriver) ChangeColumn(tableName, columnName, newSpecs string) (sql.Result, error) {
|
|
return nil, errors.New("not implemented yet")
|
|
}
|
|
|
|
func (p *postgresqlDriver) DropColumns(tableName string, columnsToDrop []string) (sql.Result, error) {
|
|
return nil, errors.New("not implemented yet")
|
|
}
|
|
|
|
func (p *postgresqlDriver) RenameColumns(tableName string, columnChanges map[string]string) (sql.Result, error) {
|
|
return nil, errors.New("not implemented yet")
|
|
}
|
|
|
|
func (p *postgresqlDriver) AddIndex(tableName string, columns []string, flags ...string) (sql.Result, error) {
|
|
return nil, errors.New("not implemented yet")
|
|
}
|
|
|
|
func (p *postgresqlDriver) DropIndex(tableName string, columns []string) (sql.Result, error) {
|
|
return nil, errors.New("not implemented yet")
|
|
}
|