liquibase.properties文件中的自定义属性

时间:2017-12-21 02:14:17

标签: liquibase

我正在使用liquibase 2.0.5,我的属性文件如下所示

let sampleJson = "{\"text\":\"sample text\"}"
let decoder = JSONDecoder()
do {
    let sample = try decoder.decode([String: Sample].self, from: Data(sampleJson.utf8))
    print(sample["text"]?.text ?? "")
} catch {
    print(error)
}

我想使用系统用户来创建myschema用户。目前,我收到以下错误。

#liquibase.properties
url=jdbc:oracle:thin:@//localhost:1521/orcl
username=myschama
password=myschama
masterUsername=system
masterPassword=system

是否可以在属性文件中包含此类自定义值

1 个答案:

答案 0 :(得分:2)

如果你想在你的changeSet中使用它作为属性,例如

void Core::MainLoop() {
    float t = 0.0f;
    float dt = 0.01;

    float currentTime = SDL_GetTicks();
    float accumulator = 0.0f;

    while (!quit) {

        float newTime = SDL_GetTicks();
        float frameT = newTime - currentTime;
        currentTime = newTime;

        accumulator += frameT;

        while (SDL_PollEvent(&event)) {
            if (event.type == SDL_QUIT) {
                quit = true;
                exit(0);
            }

            MenuInput(event);
        }

        SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
        SDL_RenderClear(renderer);

        while (accumulator >= dt) {
            Update(dt);
            t += dt;
            accumulator -= dt;
        }

        Draw();

        SDL_RenderPresent(renderer);
    }
}

然后尝试将它放入liquibase.properties:

 <changeSet ...>
   <sql>
     INSERT INTO myTab(some_column) VALUES ('${masterUsername}')
   </sql>
 </changeSet>

作为替代方案,您可以在命令行上将这些作为Java属性传递,例如:

parameter.masterUsername=your_desired_value

有关详细信息,请参阅http://www.liquibase.org/documentation/changelog_parameters.htmlhttp://www.liquibase.org/documentation/command_line.html