Docs

Documentation versions (currently viewingVaadin 24)
Documentation translations (currently viewingChinese)

本页面为机器翻译自官方文档,原文位于 http://vaadin.com/docs。内容可能包含错误、不准确或表述不清之处。Vaadin 不对译文的准确性、可靠性或时效性做任何保证或声明。

Flyway 迁移

如何使用 Control Center 管理 Flyway 迁移。

Control Center 提供了一种简单方式来设置 Flyway 迁移,以初始化数据库。本指南将一步步介绍如何利用 Control Center 为 Vaadin 应用配置 Flyway 迁移。

Control Center Starter

如果尚未引入,请将 Control Center Starter 添加到您的项目中。同时确保项目中也包含了 Flyway PostgreSQL 依赖。

Source code
pom.xml
<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>control-center-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-database-postgresql</artifactId>
    <scope>runtime</scope>
</dependency>

添加这些依赖且启用 Database 功能后,任何在 migration 目录下发现的迁移文件会在应用启动时被自动检测并应用到数据库。

有关如何在应用中设置 Flyway 的更多信息,请参见 添加 Flyway 页面。

Note
必须启用 Database 功能,Flyway 迁移才会被应用到由 Control Center 管理的数据库。如果还未启用该功能,可在部署应用时启用,或者针对已部署的应用进行设置。

迁移文件

Flyway 迁移是定义数据库模式更改的 SQL 脚本。这些脚本应放置在项目的 src/main/resources/db/migration 目录下。迁移文件的命名规范为 V<version>__<description>.sql,其中 <version> 为版本号,<description> 为对迁移简要说明。

例如,用于创建 users 表的迁移文件可以命名为 V1__Create_users_table.sql。文件内容可能如下所示:

Source code
sql
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL
);
INSERT INTO users (username, password) VALUES ('admin', 'admin');

您可以创建多个迁移文件,Flyway 会按照版本号顺序依次应用。理想情况下,每个迁移文件应包含一次数据库模式更改,例如创建表、新增列或修改数据。

有关 Flyway 迁移文件的更多信息,请参阅 Flyway documentation

查看迁移状态

您可以在 Control Center UI 中查看 Flyway 迁移状态。

若要查看已应用迁移的详细信息,请先从 Application Selector 选择相关应用,如下截图所示。

Application Selector

导航至 Database 部分并选择 Migrations。此时会显示所有已应用迁移的列表,包括其版本号和描述。同时,还显示每个迁移的状态,指明其是否成功或失败。如果某次迁移失败,请检查迁移脚本是否存在错误,并在修复后重新部署应用。

Database Migrations