Skip to content

Commit 8b11f60

Browse files
committed
PR feedback
1 parent 1fbebe7 commit 8b11f60

File tree

2 files changed

+21
-24
lines changed

2 files changed

+21
-24
lines changed

cmd/modern/root/install/mssql-base.go

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,8 @@ func (c *MssqlBase) AddFlags(
182182
addFlag(cmdparser.FlagOptions{
183183
Int: &c.port,
184184
DefaultInt: 0,
185-
Name: "port-override",
186-
Usage: "Port override (next available port from 1433 upwards used by default)",
185+
Name: "port",
186+
Usage: "Port (next available port from 1433 upwards used by default)",
187187
})
188188

189189
addFlag(cmdparser.FlagOptions{
@@ -328,17 +328,17 @@ func (c *MssqlBase) createContainer(imageName string, contextName string) {
328328

329329
c.sql.Connect(endpoint, saUser, sql.ConnectOptions{Interactive: false})
330330

331+
c.createNonSaUser(userName, password)
332+
331333
// Download and restore DB if asked
332-
defaultDbAlreadyCreated := false
333334
if c.usingDatabaseUrl != "" {
334-
defaultDbAlreadyCreated = c.downloadAndRestoreDb(
335+
c.downloadAndRestoreDb(
335336
controller,
336337
containerId,
338+
userName,
337339
)
338340
}
339341

340-
c.createNonSaUser(userName, password, defaultDbAlreadyCreated)
341-
342342
hints := [][]string{
343343
{"Open in Azure Data Studio", "sqlcmd open ads"},
344344
{"Run a query", "sqlcmd query \"SELECT @@version\""},
@@ -402,7 +402,6 @@ func (c *MssqlBase) query(commandText string) {
402402
func (c *MssqlBase) createNonSaUser(
403403
userName string,
404404
password string,
405-
defaultDbAlreadyCreated bool,
406405
) {
407406
output := c.Cmd.Output()
408407

@@ -411,11 +410,9 @@ func (c *MssqlBase) createNonSaUser(
411410
if c.defaultDatabase != "" {
412411
defaultDatabase = c.defaultDatabase
413412

414-
if !defaultDbAlreadyCreated {
415-
// Create the default database, if it isn't a downloaded database
416-
output.Infof("Creating default database [%s]", defaultDatabase)
417-
c.query(fmt.Sprintf("CREATE DATABASE [%s]", defaultDatabase))
418-
}
413+
// Create the default database, if it isn't a downloaded database
414+
output.Infof("Creating default database [%s]", defaultDatabase)
415+
c.query(fmt.Sprintf("CREATE DATABASE [%s]", defaultDatabase))
419416
}
420417

421418
const createLogin = `CREATE LOGIN [%s]
@@ -445,7 +442,8 @@ CHECK_POLICY=OFF`
445442
func (c *MssqlBase) downloadAndRestoreDb(
446443
controller *container.Controller,
447444
containerId string,
448-
) (defaultDatabaseAlreadyCreated bool) {
445+
userName string,
446+
) {
449447
output := c.Cmd.Output()
450448

451449
u, err := url.Parse(c.usingDatabaseUrl)
@@ -456,7 +454,7 @@ func (c *MssqlBase) downloadAndRestoreDb(
456454
// Download file from URL into container
457455
output.Infof("Downloading %s from %s", file, u.Hostname())
458456

459-
temporaryFolder := "/tmp"
457+
temporaryFolder := "/var/opt/mssql/backup"
460458

461459
controller.DownloadFile(
462460
containerId,
@@ -502,18 +500,20 @@ DECLARE @fileListTable TABLE (
502500
INSERT INTO @fileListTable
503501
EXEC('RESTORE FILELISTONLY FROM DISK = ''%s/%s''')
504502
SET @sql = 'RESTORE DATABASE [%s] FROM DISK = ''%s/%s'' WITH '
505-
SELECT @sql = @sql + char(13) + ' MOVE ''' + LogicalName + ''' TO ''/var/opt/sql/' + LogicalName + '.' + RIGHT(PhysicalName,CHARINDEX('\',PhysicalName)) + ''','
503+
SELECT @sql = @sql + char(13) + ' MOVE ''' + LogicalName + ''' TO ''/var/opt/mssql/' + LogicalName + '.' + RIGHT(PhysicalName,CHARINDEX('\',PhysicalName)) + ''','
506504
FROM @fileListTable
507505
WHERE IsPresent = 1
508506
SET @sql = SUBSTRING(@sql, 1, LEN(@sql)-1)
509507
EXEC(@sql)`
510508

511509
c.query(fmt.Sprintf(text, temporaryFolder, file, fileNameWithNoExt, temporaryFolder, file))
512510

513-
if c.defaultDatabase == "" {
514-
c.defaultDatabase = fileNameWithNoExt
515-
defaultDatabaseAlreadyCreated = true
516-
}
511+
alterDefaultDb := fmt.Sprintf(
512+
"ALTER LOGIN [%s] WITH DEFAULT_DATABASE = [%s]",
513+
userName,
514+
fileNameWithNoExt)
515+
c.query(alterDefaultDb)
516+
517517
return
518518
}
519519

@@ -571,8 +571,5 @@ func (c *MssqlBase) validateDbName(s string) bool {
571571
return false
572572
}
573573
}
574-
if strings.ContainsAny(s, "'\"`'") {
575-
return false
576-
}
577-
return true
574+
return !strings.ContainsAny(s, "'\"`'")
578575
}

cmd/modern/root/uninstall_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func TestUninstallWithUserDbPresent(t *testing.T) {
2121
cmdparser.TestCmd[*edge.GetTags]()
2222
cmdparser.TestCmd[*install.Edge](
2323
fmt.Sprintf(
24-
`--accept-eula --port-override 1500 --errorlog-wait-line "Hello from Docker!" --registry %v --repo %v`,
24+
`--accept-eula --port 1500 --errorlog-wait-line "Hello from Docker!" --registry %v --repo %v`,
2525
registry,
2626
repo))
2727
cmdparser.TestCmd[*Stop]()

0 commit comments

Comments
 (0)