在测试项目Electron中,使用TypeORM的时候有2个问题,
1、请问在electron项目中,ormconfig.json 是放在根目录还是指的放在主进程目录(main/)下呢?
2、在electron项目中, 手动配置 typeorm 使用sqlite3的
ormconfig.json 需要如何配置呢?
AI给的示例如下:
{
"type": "sqlite",
"database": "electron_app_db.sqlite",
"synchronize": false,
"logging": false,
"entities": [
"src/entities/*.ts"
],
"migrations": [
"src/migrations/*.ts"
],
"subscribers": [
"src/subscribers/*.ts"
]
}
但是我觉得entities
, migrations
, subscribers
都是使用src下面,我个人觉得应该放在主进程文件目录 main/ 下面才对是吗?
在Electron项目中,ormconfig.json
文件的位置主要取决于你的项目结构和如何组织你的代码。通常,它可以放在项目的根目录下,因为这样可以使得整个应用都能容易地访问到这个配置文件。然而,如果你的Electron应用结构非常特殊,或者你希望将数据库相关的配置与主进程或渲染进程代码明确分离,你也可以将其放在主进程目录(如 main/
)下。
但是,更常见的做法是将 ormconfig.json
放在根目录下,然后通过环境变量或在程序启动时动态设置TypeORM的配置来适应不同的环境(如开发环境、测试环境和生产环境)。
你给出的示例配置是通用的,适用于在Electron中使用sqlite3。不过,关于 entities
、migrations
和 subscribers
的路径,这取决于你的项目结构。如果你的项目结构如下:
src/
:包含TypeScript源文件
entities/
:包含实体类migrations/
:包含迁移文件subscribers/
:包含订阅者文件main/
:包含Electron的主进程代码ormconfig.json
:在根目录下那么,你的 ormconfig.json
配置文件中的路径应该与你给出的示例类似,即:
{
"type": "sqlite",
"database": "electron_app_db.sqlite",
"synchronize": false,
"logging": false,
"entities": [
"src/entities/*.ts"
],
"migrations": [
"src/migrations/*.ts"
],
"subscribers": [
"src/subscribers/*.ts"
]
}
这样的配置是正确的,前提是 src/
目录位于项目的根目录下。如果你确实希望将这些配置放在 main/
目录下,并调整 entities
、migrations
和 subscribers
的路径,你可以这样做,但请注意这通常不是标准做法,且可能会让其他开发者(或未来的你)感到困惑。
总结:
ormconfig.json
通常放在项目的根目录下。src/
目录下,那么你的配置就是正确的。ormconfig.json
放在 main/
目录下,你可以这样做,但请确保调整路径以反映新的位置,并且这样做可能会导致混淆。我目前使用eclipse进行Java开发。有人能解释为什么在使用像FileReader这样的类时文件被放在src目录下的原因吗?在使用getClass().getResourceAsStream(“...”)等方法时,有时必须将文件放在bin目录下为了读图像?方法getClass().getResourceAsstream(“...”)有其他方法吗需要src目录下的文件吗?
让它工作的唯一方法是在application.conf中添加,但是当我将它部署到“已经定义了CRUD”的Heroku时,这就破坏了一切。 如何强制play只使用/applications/play-1.2.5/中的模块,而不将任何内容复制到工作目录?
我有一个Multiproject项目构建,如下所示,当我进行分级清洁构建时,它会在每个子目录的build/libs/下创建jar,如下所示 现在我想把所有这些子项目JAR(项目A和B)放在一个地方(比如root/build/libs),所以它希望这样
问题内容: 我正在考虑将virtualenv用于我在git存储库中创建的Django Web应用程序中。这似乎是使部署变得如此简单的一种简单方法。我为什么不应该这样做? 问题答案: 我通常pip freeze将所需的软件包放入requirements.txt文件中,然后将其添加到存储库中。我试图思考为什么您要存储整个virtualenv的方法,但是我不能。
嗨,我已经使用以下命令在Ubuntu16.0.4中安装了JDK10。 我遵循下面的链接安装Java10。 如何在Ubuntu下安装JDK10? 他们正在显示正确的版本。 我尝试了安装的两个选项,但当我给出JDK路径表单IntelliJ时,我得到的是 “所选目录不是JDK的有效主目录”错误。
问题内容: 我需要一种在Linux上运行的C ++程序中获取用户主目录的方法。如果相同的代码可以在Unix上运行,那就太好了。我不想使用HOME环境值。 AFAIK,根主目录是/ root。如果我的程序是由root用户运行的,可以在该目录中创建一些文件/文件夹吗? 问题答案: 您需要获取当前用户的用户ID,然后获取该用户的密码条目(包括主目录): 注意:如果您在线程化应用程序中需要此功能,则可以改