func prepare()

in Sources/XCMetricsBackendLib/Common/Repositories/Postgress/Migrations/CreateBuildWarning.swift [24:66]


    func prepare(on database: Database) -> EventLoopFuture<Void> {
        if let sql = database as? SQLDatabase {
            return sql.raw("""
            CREATE TABLE build_warnings (
                id uuid,
                day date NOT NULL,
                build_identifier text NOT NULL,
                parent_identifier text NOT NULL,
                parent_type text NOT NULL,
                title text NOT NULL,
                type text NOT NULL,
                clang_flag text NOT NULL,
                document_url text NOT NULL,
                severity integer NOT NULL,
                starting_line integer NOT NULL,
                ending_line integer NOT NULL,
                starting_column integer NOT NULL,
                ending_column integer NOT NULL,
                character_range_start integer NOT NULL,
                character_range_end integer NOT NULL,
                PRIMARY KEY (id, day)
            ) PARTITION BY LIST (day);
            """).run()
        }

        return database.schema("build_warnings")
            .id()
            .field("build_identifier", .string, .required)
            .field("parent_identifier", .string, .required)
            .field("parent_type", .string, .required)
            .field("title", .string, .required)
            .field("type", .string, .required)
            .field("clang_flag", .string, .required)
            .field("document_url", .string, .required)
            .field("severity", .int32, .required)
            .field("starting_line", .int32, .required)
            .field("ending_line", .int32, .required)
            .field("starting_column", .int32, .required)
            .field("ending_column", .int32, .required)
            .field("character_range_start", .int32, .required)
            .field("character_range_end", .int32, .required)
            .create()
    }