()
| 404 | } |
| 405 | |
| 406 | func (d *PostgresDatabase) extensions() ([]string, error) { |
| 407 | if d.config.SkipExtension { |
| 408 | return []string{}, nil |
| 409 | } |
| 410 | |
| 411 | rows, err := d.db.Query(` |
| 412 | SELECT extname FROM pg_extension |
| 413 | WHERE extname != 'plpgsql'; |
| 414 | `) |
| 415 | if err != nil { |
| 416 | return nil, err |
| 417 | } |
| 418 | defer rows.Close() |
| 419 | |
| 420 | var ddls []string |
| 421 | for rows.Next() { |
| 422 | var name string |
| 423 | if err := rows.Scan(&name); err != nil { |
| 424 | return nil, err |
| 425 | } |
| 426 | ddls = append( |
| 427 | ddls, fmt.Sprintf( |
| 428 | "CREATE EXTENSION %s;", d.quoteIdentifierIfNeeded(name), |
| 429 | ), |
| 430 | ) |
| 431 | } |
| 432 | return ddls, nil |
| 433 | } |
| 434 | |
| 435 | func (d *PostgresDatabase) types() ([]string, error) { |
| 436 | // Use quote_literal() to properly escape enum labels containing special characters |
no test coverage detected