Skip to content

Commit cdc5c24

Browse files
committed
Automatically create DB schema on connect
Reduces copy paste and adds confidence that someone won't try manipulate with DB before schema is created
1 parent dda7343 commit cdc5c24

File tree

6 files changed

+2
-16
lines changed

6 files changed

+2
-16
lines changed

contract-creator/src/org/jetbrains/ruby/runtime/signature/server/SignatureServer.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ fun main(args: Array<String>) {
2727
parseArgs(args).let {
2828
DatabaseProvider.connectToDB(it.dbFilePath, isDefaultDatabase = true)
2929
}
30-
DatabaseProvider.createAllDatabases()
3130

3231
val pipeFileName = SignatureServer().runServerAsync(isDaemon = false)
3332
println("Pass this to arg-scanner via --pipe-file-path: $pipeFileName")

ide-plugin/src/org/jetbrains/plugins/ruby/ruby/actions/ImportExportContractsAction.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ class ExportContractsAction : ExportFileActionBase(
7070
File(pathToExport).delete()
7171

7272
val databaseToExportTo = DatabaseProvider.connectToDB(pathToExport)
73-
DatabaseProvider.createAllDatabases(databaseToExportTo)
7473

7574
DatabaseProvider.defaultDatabase!!.copyTo(databaseToExportTo, moveProgressBar)
7675
}

ide-plugin/src/org/jetbrains/plugins/ruby/ruby/codeInsight/ProjectLifecycleListenerImpl.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.jetbrains.plugins.ruby.ruby.codeInsight
22

33
import com.google.gson.Gson
4-
import com.intellij.openapi.diagnostic.Logger
54
import com.intellij.openapi.project.Project
65
import com.intellij.openapi.project.ProjectManagerListener
76
import org.jetbrains.plugins.ruby.ruby.persistent.TypeInferenceDirectory
@@ -64,8 +63,6 @@ class ProjectLifecycleListenerImpl : ProjectManagerListener {
6463
projectName).toString() + DatabaseProvider.H2_DB_FILE_EXTENSION
6564

6665
DatabaseProvider.connectToDB(filePath, isDefaultDatabase = true)
67-
68-
DatabaseProvider.createAllDatabases()
6966
}
7067

7168
/**

ide-plugin/src/test/java/org/jetbrains/plugins/ruby/ruby/actions/ImportExportTests.kt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ class ImportExportTests : TestCase() {
2020

2121
DatabaseProvider.connectToDB(generateTempDBFilePath(), isDefaultDatabase = true)
2222

23-
DatabaseProvider.createAllDatabases(DatabaseProvider.defaultDatabase)
2423
DatabaseProvider.defaultDatabaseTransaction {
2524
data.forEach { CallInfoTable.insertInfoIfNotContains(it) }
2625
}
@@ -40,13 +39,10 @@ class ImportExportTests : TestCase() {
4039
}
4140

4241
DatabaseProvider.connectToDB(generateTempDBFilePath(), isDefaultDatabase = true)
43-
DatabaseProvider.createAllDatabases(DatabaseProvider.defaultDatabase)
4442

4543
val dbToImport = generateTempDBFilePath().let { pathToImport: String ->
4644
val db = DatabaseProvider.connectToDB(pathToImport)
4745

48-
DatabaseProvider.createAllDatabases(db)
49-
5046
transaction(db) {
5147
data.forEach { CallInfoTable.insertInfoIfNotContains(it) }
5248
}
@@ -74,16 +70,13 @@ class ImportExportTests : TestCase() {
7470
)
7571

7672
DatabaseProvider.connectToDB(generateTempDBFilePath(), isDefaultDatabase = true)
77-
DatabaseProvider.createAllDatabases(DatabaseProvider.defaultDatabase)
7873
DatabaseProvider.defaultDatabaseTransaction {
7974
defaultDBData.forEach { CallInfoTable.insertInfoIfNotContains(it) }
8075
}
8176

8277
val dbToImport = generateTempDBFilePath().let { pathToImport: String ->
8378
val db = DatabaseProvider.connectToDB(pathToImport)
8479

85-
DatabaseProvider.createAllDatabases(db)
86-
8780
transaction(db) {
8881
data.forEach { CallInfoTable.insertInfoIfNotContains(it) }
8982
}

signature-viewer/src/org/jetbrains/ruby/runtime/signature/SplitDB.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ val gemToDBMap = HashMap<GemInfo?, Database>()
1313
fun gemToDB(info: GemInfo?, outputDir: String, rubyVersion: String): Database =
1414
gemToDBMap[info] ?: DatabaseProvider.connectToDB(Paths.get(outputDir,
1515
"${info?.name?.plus("-")?.plus(info.version) ?: "no_gem"}-ruby-$rubyVersion" + DatabaseProvider.H2_DB_FILE_EXTENSION).toString())
16-
.also {
17-
DatabaseProvider.createAllDatabases(it)
18-
gemToDBMap[info] = it
19-
}
16+
.also { gemToDBMap[info] = it }
2017

2118
fun input(msg: String): String {
2219
println(msg)

storage-server-api/src/main/java/org/jetbrains/ruby/codeInsight/types/storage/server/DatabaseProvider.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ object DatabaseProvider {
4545
defaultDatabaseFilePath = filePath
4646
}
4747
logger.info("Connected to DB: $filePath")
48+
createAllDatabases(database)
4849
logDatabaseSize(database)
4950
return database
5051
}

0 commit comments

Comments
 (0)