При получении 'отношения' schemaversions 'не существует ошибки'

Я пытаюсь использовать пример кода из dbup, преобразованного в postgres.

Ниже приведен код.

using System;
using System.Linq;
using System.Reflection;
using DbUp;

namespace GeoServerDbManager
{
    //"Host = 1.1.1.1; User Id = postgres; Password = postgres; Database = osmdev; Port = 5432"
    class Program
    {
        static int Main(string[] args)
        {
            var connectionString =
                args.FirstOrDefault()
                ?? "Host = 1.1.1.1; User Id = postgres; Password = postgres; Database = osmdev; Port = 5432";
            EnsureDatabase.For.PostgresqlDatabase(connectionString);
            var upgrader =
                DeployChanges.To
                    .PostgresqlDatabase(connectionString)
                    .WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly())
                    .LogToConsole()
                    .Build();

            var result = upgrader.PerformUpgrade();

            if (!result.Successful)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(result.Error);
                Console.ResetColor();
#if DEBUG
                Console.ReadLine();
#endif
                return -1;
            }

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Success!");
            Console.ResetColor();
            return 0;
        }
    }
}

База данных не существует, когда я запускаю это. Я продолжаю получать ошибку:

Script block number: 0; Message: 42P01: relation "schemaversions" does not exist
Npgsql.PostgresException (0x80004005): 42P01: relation "schemaversions" does not exist

Таблицы действительно создаются, как и таблица schemaversions, но таблица schemaversions пуста в конце сценария.

0 ответов

Я знаю, что это старый вопрос, но сегодня я столкнулся с той же проблемой, и поскольку ответа пока нет, я отвечаю для дальнейшего использования:

Я обнаружил, что DbUp пытается создать "схемы доступа", но схема по умолчанию не установлена. Это приводит к ошибке:

Получение "отношения" схемы "не существует ошибки"

Установка схемы по умолчанию исправила проблему для меня:

builder.JournalToPostgresqlTable("SCHEMA_NAME", "schemaversions")

Другие вопросы по тегам