当前位置: 首页 > 知识库问答 >
问题:

java - 请问一般数据库的表的字段是预先创建的,还是在运行项目的时候创建的?

云正信
2024-09-18

比如我们在开发一个后端项目,
里面使用mysql数据库,
请问常规做项目的情况下对数据库的表的初始化操作,里面的字段是在项目第一次启动之前就预设好了,还是指的是,在第一次启动项目的时候,看到表不存在,然后再进行创建表呢?

共有1个答案

麻学博
2024-09-18

通常是在项目启动前就预设好了,以我司的项目为例:

  1. 先安装基础设施包,完成后会部署数据库服务(如MySQL)。
  2. 再安装产品包,此时先执行数据库更新任务(进行建表、表结构更新等操作),再部署提供业务功能的服务(服务进程启动时做数据初始化)。
    如果是服务启动时发现表不存在进行建表的话,需要在服务的代码里处理针对多种不同数据库的兼容逻辑,这样会导致后期维护的困难,所以相关处理需要在基础设施层完成,并定义一套规范给业务方按需编写数据库升级脚本参考。
 类似资料:
  • 我这里有一个项目如下: 我现在在设计使用IoC容器,对src/usage 使用 上面的 src/services/ 下面的定义进行解耦。 我可以对src/services/目录下每个目录都创建一个IoC Container,然后也就是说我的项目中对不同的服务类型有不同的container。 然后在src/usage使用的时候,就需要导入多个container。 还是说只应该创建一个containe

  • 第一步:项目的创建与运行 (1). 创建项目 如果这是你第一次使用Django,那么你必须要照顾一些初始设置。也就是说,您需要自动生成一些建立Django 项目的代码 从命令行cd到您要存储代码的目录,然后运行以下命令: $ django-admin startproject myweb 我们来看看startproject创建的内容: [root@localhost myweb]# tree .

  • 我正在尝试从MicrosoftSQLServer 2012上的数据库中的Java自动创建表。我正在使用JPA,这是我的persistence.xml: glassfish ping上的JDBC连接池成功(其他属性 URL:jdbc:sqlserver://127.0.0.1;数据库名称=测试;instanceName=SQLEXPRESS;用户:用户密码:密码端口号:1433) Message.j

  • 当我想要在中创建一个新的项目时,当我进入命名项目的阶段时,我会收到以下错误消息: "无法自动设置JavaFX平台。请转到Platform Manager,创建一个非默认JavaSE平台,然后转到JavaFX选项卡,启用JavaFX并填写有效JavaFX SDK和JavaFX运行时的路径。注意:JavaFX SDK可从JavaFX网站下载” 我如何解决这个问题?

  • 首先,打开Android Studio并选择Create new Project,然后它会让你输入一个名字,你可以任意取一个名字,比如:Weather App。然后你需要输入公司域名。如果你不会真正发布这个app,这个字段就不是特别重要了,但是如果你有的话可以使用自己的域名。然后任意选择一个目录作为这个项目的保存地址。 下一步,它会让你选择最小的API版本。我们选择API 15,因为我们有一个库需

  • 问题内容: 我知道我可以使用它来创建DDL创建触发器; 问题在于,该触发器将在“创建序列”之类的DDL上运行;如何仅对“创建表” DDL执行此操作? 问题答案: CREATE OR REPLACE TRIGGER create_table_trigger AFTER CREATE ON SCHEMA BEGIN IF SYS.DICTIONARY_OBJ_TYPE = ‘TABLE’ THEN .