hsweb-starter.js 5.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //组件信息
  2. var info = {
  3. groupId: "${project.groupId}",
  4. artifactId: "${project.artifactId}",
  5. version: "${project.version}",
  6. website: "https://github.com/hs-web/hsweb-framework",
  7. author: "admin@hsweb.me",
  8. comment: "动态表单"
  9. };
  10. //版本更新信息
  11. var versions = [
  12. // {
  13. // version: "3.0.2",
  14. // upgrade: function (context) {
  15. // java.lang.System.out.println("更新到3.0.2了");
  16. // }
  17. // }
  18. ];
  19. var JDBCType = java.sql.JDBCType;
  20. function install(context) {
  21. var database = context.database;
  22. database.createOrAlter("s_dyn_form")
  23. .addColumn().name("u_id").alias("id").comment("ID").jdbcType(java.sql.JDBCType.VARCHAR).length(32).primaryKey().commit()
  24. .addColumn().name("name").alias("name").comment("表单名称").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  25. .addColumn().name("table_name").alias("tableName").comment("数据库表名").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  26. .addColumn().name("describe").alias("describe").comment("备注").jdbcType(java.sql.JDBCType.VARCHAR).length(512).commit()
  27. .addColumn().name("type").alias("type").comment("表单类型").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  28. .addColumn().name("version").alias("version").comment("版本").jdbcType(java.sql.JDBCType.DECIMAL).length(32, 0).commit()
  29. .addColumn().name("is_deployed").alias("isDeployed").comment("是否已发布").jdbcType(java.sql.JDBCType.DECIMAL).length(1, 0).commit()
  30. .addColumn().name("alias").alias("alias").comment("别名").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  31. .addColumn().name("triggers").alias("triggers").comment("触发器").jdbcType(java.sql.JDBCType.CLOB).commit()
  32. .addColumn().name("correlations").alias("correlations").comment("表链接").jdbcType(java.sql.JDBCType.CLOB).commit()
  33. .addColumn().name("data_source_id").alias("dataSourceId").comment("数据源id,为空使用默认数据源").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  34. .addColumn().name("creator_id").alias("creatorId").comment("创建人id").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  35. .addColumn().name("create_time").alias("createTime").comment("创建时间").jdbcType(java.sql.JDBCType.DECIMAL).length(32, 0).commit()
  36. .addColumn().name("update_time").alias("updateTime").comment("修改时间").jdbcType(java.sql.JDBCType.DECIMAL).length(32, 0).commit()
  37. .addColumn().name("properties").alias("properties").comment("其他配置").jdbcType(java.sql.JDBCType.CLOB).commit()
  38. .comment("动态表单").commit();
  39. database.createOrAlter("s_dyn_form_column")
  40. .addColumn().name("u_id").alias("id").comment("ID").jdbcType(java.sql.JDBCType.VARCHAR).length(32).primaryKey().commit()
  41. .addColumn().name("form_id").alias("formId").comment("表单ID").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  42. .addColumn().name("name").alias("name").comment("字段名称").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  43. .addColumn().name("column_name").alias("columnName").comment("数据库列").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  44. .addColumn().name("describe").alias("describe").comment("备注").jdbcType(java.sql.JDBCType.VARCHAR).length(512).commit()
  45. .addColumn().name("alias").alias("alias").comment("别名").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  46. .addColumn().name("java_type").alias("javaType").comment("java类型").jdbcType(java.sql.JDBCType.VARCHAR).length(128).commit()
  47. .addColumn().name("jdbc_type").alias("jdbcType").comment("jdbc类型").jdbcType(java.sql.JDBCType.VARCHAR).length(128).commit()
  48. .addColumn().name("data_type").alias("dataType").comment("数据类型").jdbcType(java.sql.JDBCType.VARCHAR).length(128).commit()
  49. .addColumn().name("length").alias("length").comment("长度").jdbcType(java.sql.JDBCType.DECIMAL).length(4, 0).commit()
  50. .addColumn().name("precision").alias("precision").comment("精度").jdbcType(java.sql.JDBCType.DECIMAL).length(4, 0).commit()
  51. .addColumn().name("scale").alias("scale").comment("小数点位数").jdbcType(java.sql.JDBCType.DECIMAL).length(4, 0).commit()
  52. .addColumn().name("properties").alias("properties").comment("其他配置").jdbcType(java.sql.JDBCType.CLOB).commit()
  53. .addColumn().name("dict_id").alias("dictId").comment("字典ID").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  54. .addColumn().name("dict_parser_id").alias("dictParserId").comment("字典解析器ID").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  55. .comment("动态表单列").commit();
  56. database.createOrAlter("s_dyn_form_log")
  57. .addColumn().name("u_id").alias("id").comment("ID").jdbcType(java.sql.JDBCType.VARCHAR).length(32).primaryKey().commit()
  58. .addColumn().name("form_id").alias("formId").comment("表单ID").jdbcType(java.sql.JDBCType.VARCHAR).length(32).commit()
  59. .addColumn().name("version").alias("version").comment("发布的版本").jdbcType(java.sql.JDBCType.NUMERIC).length(32).commit()
  60. .addColumn().name("deploy_time").alias("deployTime").comment("发布时间").jdbcType(java.sql.JDBCType.TIMESTAMP).commit()
  61. .addColumn().name("meta_data").alias("metaData").comment("部署的元数据").jdbcType(java.sql.JDBCType.CLOB).commit()
  62. .addColumn().name("status").alias("status").comment("状态").jdbcType(java.sql.JDBCType.NUMERIC).length(4).commit()
  63. .comment("表单发布日志").commit();
  64. }
  65. //设置依赖
  66. dependency.setup(info)
  67. .onInstall(install)
  68. .onUpgrade(function (context) { //更新时执行
  69. var upgrader = context.upgrader;
  70. upgrader.filter(versions)
  71. .upgrade(function (newVer) {
  72. newVer.upgrade(context);
  73. });
  74. })
  75. .onUninstall(function (context) { //卸载时执行
  76. });