Skip to content

Commit 335a72c

Browse files
committed
Allow forking w/o group
1 parent 513eed9 commit 335a72c

1 file changed

Lines changed: 39 additions & 10 deletions

File tree

internal/cmd/db_create.go

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,36 @@ func CreateDatabase(name string) error {
9797
return err
9898
}
9999

100-
group, err := groupFromFlag(groups)
101-
if err != nil {
102-
return err
100+
var seed *turso.DBSeed
101+
var group turso.Group
102+
103+
if fromDBFlag != "" {
104+
seed, err = parseDBSeedFlags(client, false, "")
105+
if err != nil {
106+
return err
107+
}
108+
109+
db, err := getDatabase(client, seed.Name)
110+
if err != nil {
111+
return err
112+
}
113+
114+
for _, g := range groups {
115+
if g.Name == db.Group {
116+
group = g
117+
}
118+
}
119+
120+
if groupFlag != "" && groupFlag != group.Name {
121+
return fmt.Errorf("group %s does not match group %s of the source database. Please fork within the same group", groupFlag, group.Name)
122+
}
123+
}
124+
125+
if fromDBFlag == "" {
126+
group, err = groupFromFlag(groups)
127+
if err != nil {
128+
return err
129+
}
103130
}
104131
groupName := group.Name
105132

@@ -108,15 +135,17 @@ func CreateDatabase(name string) error {
108135
return err
109136
}
110137

111-
isAWS := strings.HasPrefix(group.Primary, "aws-")
138+
if fromDBFlag == "" {
139+
isAWS := strings.HasPrefix(group.Primary, "aws-")
112140

113-
if err = validateEncryptionFlags(); err != nil {
114-
return err
115-
}
141+
if err = validateEncryptionFlags(); err != nil {
142+
return err
143+
}
116144

117-
seed, err := parseDBSeedFlags(client, isAWS, remoteEncryptionCipherFlag)
118-
if err != nil {
119-
return err
145+
seed, err = parseDBSeedFlags(client, isAWS, remoteEncryptionCipherFlag)
146+
if err != nil {
147+
return err
148+
}
120149
}
121150

122151
version := "latest"

0 commit comments

Comments
 (0)