使用Flyway进行数据库的迁移后新用户不能正确初始化数据的补救方案

2024 年 11 月 30 日 星期六
/ , ,
13

阅读此文章之前,你可能需要首先阅读以下的文章才能更好的理解上下文。

使用Flyway进行数据库的迁移后新用户不能正确初始化数据的补救方案

在我费尽千辛万苦做好了老用户的丝滑迁移后(不是,第二天我就发现了新用户不能正确初始化数据库,不查不知道,一查吓一跳,原来 Flyway 优先于 schema.sql

这也就是为什么会报错:

SQL State : null Error Code : 1 Message : [SQLITE_ERROR] SQL error or missing database (no such table: files) 
Location : db/migration/V2__AddFullSizeColumn.sql (D:\project\tgDrive\target\nested:\D:\project\tgDrive\target\tgDrive-0.0.4-SNAPSHOT.jar\!BOOT-INF\classes\!\db\migration\V2__AddFullSizeColumn.sql) 
Line : 1 
Statement : ALTER TABLE files ADD COLUMN full_size INTEGER DEFAULT 0

解决方法就是在db/migration/目录下新建一个创建表的脚本,例如V1__CreateTables.sql,这里直接将schema.sql里的内容复制粘贴过来就行了

再次以没有初始化数据库的情况下启动,就能正常启动了。

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...