Skip to content

feature-数据库中的表支持热更新#38

Open
changzheng0101 wants to merge 1 commit intoximatai:masterfrom
changzheng0101:feature/hot-update-database
Open

feature-数据库中的表支持热更新#38
changzheng0101 wants to merge 1 commit intoximatai:masterfrom
changzheng0101:feature/hot-update-database

Conversation

@changzheng0101
Copy link
Contributor

数据库中的表,如果某一列的类型改变,无法完成热更新。checkAndBuildColumn方法中没有添加检查类型不一致的代码,进行了添加。
场景可复现代码如下:

@Path("/demo")
public class DemoController extends Scaffold implements ITableCreateAbility, ICURDAbility {
    @Inject
    IDatabaseOperations databaseOperations;

    @GET
    public String helloWorld() {
        return "hello world!";
    }

    @Override
    public IDatabaseOperations getDatabaseOperations() {
        return databaseOperations;
    }

    @Override
    public String getMainTable() {
        return "demo";
    }

    @Override
    public void fitOut(TableWrapper wrapper) {
        wrapper.setPrimaryKey(Column.ID_POSTGRES)
            .addColumn(Column.of("v_age").setType(ColumnType.INT));
    }
}

访问localhost:8080/api/demo可完成数据库的第一次初始化,初始化完成之后,之前如果修改
addColumn(Column.of("v_age").setType(ColumnType.INT))addColumn(Column.of("v_age").setType(ColumnType.VARCHAR)),数据库中的数据列类型是无法完成更新的,经过本次修改可以完成热更新。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant