My GORM Primary ID is getting set to an 18 digit number, how can i force this number to start at 1
I'm using GORM to handle my database operations. My struct is as follows
type Job struct {
gorm.Model
JobID int `gorm:"primary_key"`
Jobitem Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
When I insert into the table using this struct, my primary key is 18 digits long, for example: 399758776912773121
Is it possible to get this id to begin at 1 and increment from there?
go-gorm
add a comment |
I'm using GORM to handle my database operations. My struct is as follows
type Job struct {
gorm.Model
JobID int `gorm:"primary_key"`
Jobitem Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
When I insert into the table using this struct, my primary key is 18 digits long, for example: 399758776912773121
Is it possible to get this id to begin at 1 and increment from there?
go-gorm
add a comment |
I'm using GORM to handle my database operations. My struct is as follows
type Job struct {
gorm.Model
JobID int `gorm:"primary_key"`
Jobitem Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
When I insert into the table using this struct, my primary key is 18 digits long, for example: 399758776912773121
Is it possible to get this id to begin at 1 and increment from there?
go-gorm
I'm using GORM to handle my database operations. My struct is as follows
type Job struct {
gorm.Model
JobID int `gorm:"primary_key"`
Jobitem Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
When I insert into the table using this struct, my primary key is 18 digits long, for example: 399758776912773121
Is it possible to get this id to begin at 1 and increment from there?
go-gorm
go-gorm
edited Nov 27 '18 at 8:32
Depado
2,61112753
2,61112753
asked Nov 13 '18 at 0:12
Andy GriffithAndy Griffith
11
11
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
You're using both gorm.Model
and defining your own primary key. So my guess is that gorm automatically thinks you're trying to use Composite Primary Key, since your struct actually looks like this:
type Job struct {
// gorm.Model ↓
ID uint `gorm:"primary_key"` // Gorm uses this
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
// gorm.Model ↑
JobID int `gorm:"primary_key"` // And also detects this
Jobitem Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
Long story short, have a look there for some documentation on gorm.Model
add a comment |
Thanks Depado,
It looks like this is built in behavior by the database and not specifically related to GORM. The ID fields are generated using the unique_rowid() function in cockroachdb which is generated by a combination of the timestamp and id of the node executing the insert.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53271950%2fmy-gorm-primary-id-is-getting-set-to-an-18-digit-number-how-can-i-force-this-nu%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You're using both gorm.Model
and defining your own primary key. So my guess is that gorm automatically thinks you're trying to use Composite Primary Key, since your struct actually looks like this:
type Job struct {
// gorm.Model ↓
ID uint `gorm:"primary_key"` // Gorm uses this
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
// gorm.Model ↑
JobID int `gorm:"primary_key"` // And also detects this
Jobitem Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
Long story short, have a look there for some documentation on gorm.Model
add a comment |
You're using both gorm.Model
and defining your own primary key. So my guess is that gorm automatically thinks you're trying to use Composite Primary Key, since your struct actually looks like this:
type Job struct {
// gorm.Model ↓
ID uint `gorm:"primary_key"` // Gorm uses this
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
// gorm.Model ↑
JobID int `gorm:"primary_key"` // And also detects this
Jobitem Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
Long story short, have a look there for some documentation on gorm.Model
add a comment |
You're using both gorm.Model
and defining your own primary key. So my guess is that gorm automatically thinks you're trying to use Composite Primary Key, since your struct actually looks like this:
type Job struct {
// gorm.Model ↓
ID uint `gorm:"primary_key"` // Gorm uses this
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
// gorm.Model ↑
JobID int `gorm:"primary_key"` // And also detects this
Jobitem Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
Long story short, have a look there for some documentation on gorm.Model
You're using both gorm.Model
and defining your own primary key. So my guess is that gorm automatically thinks you're trying to use Composite Primary Key, since your struct actually looks like this:
type Job struct {
// gorm.Model ↓
ID uint `gorm:"primary_key"` // Gorm uses this
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
// gorm.Model ↑
JobID int `gorm:"primary_key"` // And also detects this
Jobitem Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
Long story short, have a look there for some documentation on gorm.Model
answered Nov 27 '18 at 8:37
DepadoDepado
2,61112753
2,61112753
add a comment |
add a comment |
Thanks Depado,
It looks like this is built in behavior by the database and not specifically related to GORM. The ID fields are generated using the unique_rowid() function in cockroachdb which is generated by a combination of the timestamp and id of the node executing the insert.
add a comment |
Thanks Depado,
It looks like this is built in behavior by the database and not specifically related to GORM. The ID fields are generated using the unique_rowid() function in cockroachdb which is generated by a combination of the timestamp and id of the node executing the insert.
add a comment |
Thanks Depado,
It looks like this is built in behavior by the database and not specifically related to GORM. The ID fields are generated using the unique_rowid() function in cockroachdb which is generated by a combination of the timestamp and id of the node executing the insert.
Thanks Depado,
It looks like this is built in behavior by the database and not specifically related to GORM. The ID fields are generated using the unique_rowid() function in cockroachdb which is generated by a combination of the timestamp and id of the node executing the insert.
answered Nov 28 '18 at 16:26
Andy GriffithAndy Griffith
11
11
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53271950%2fmy-gorm-primary-id-is-getting-set-to-an-18-digit-number-how-can-i-force-this-nu%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown