Flyway пытается прочитать сценарии миграции базы данных из папки classpath:db/migration
по умолчанию.
Все сценарии миграции должны соответствовать определенному соглашению об именах - V<VERSION_NUMBER>__<NAME>.sql
.
Создать новый файл с именем V1__Create_Tables.sql
внутри src/main/resources/db/migration
каталога и добавьте сценарий sql, например:
-- ----------------------------
-- Schema for helloservice
-- ----------------------------
CREATE SCHEMA IF NOT EXISTS helloworld;
-- ----------------------------
-- Table structure for user
-- ----------------------------
CREATE TABLE helloworld.users (
id BIGSERIAL PRIMARY KEY NOT NULL UNIQUE,
username VARCHAR(255) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
first_name VARCHAR(255),
middle_name VARCHAR(255),
last_name VARCHAR(255),
email VARCHAR(255),
enabled bool NOT NULL DEFAULT true,
account_locked bool NOT NULL,
account_expired bool NOT NULL,
credential_expired bool NOT NULL,
created_on timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_on timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE helloworld.users IS 'User table';
Когда вы запустите приложение, flyway автоматически проверит текущую версию базы данных и применит любые ожидающие миграции. По умолчанию дополнительные свойства не требуются. Вы также можете создать схему в этом скрипте. Или flyway сделает это за вас, если вы укажете несуществующую схему.
Если вы используете спящий режим, проверьте это свойство:
spring.jpa.hibernate.ddl-auto=validate
Для получения дополнительной информации см. инструкции .