Major Change: Shopify is growing, and so are our INTs!

Highlighted
Shopify Staff (Retired)
Shopify Staff (Retired)
30 0 8

As Shopify and our merchants have grown, the sheer amount of data we deal with has grown as well. With that in mind, we've been forced to transition towards ID columns (and ID references) from 32-bit to 64-bit to ensure that we can continue to issue unique IDs.

MySQL, Ruby on Rails, and most other technologies default ID columns to INT(11). While we're very excited that we're hitting this limitation (problems caused by massive growth are the best problems to have), it is going to require Shopify App and integration developers to make the same transition to ensure compatibility with Shopify in the future.

In short: anywhere you're dealing with an ID from Shopify (whether that's shop_ID, order_ID, or any other ID), you need to be prepared to deal with integers larger than 32-bit datatypes can provide.

Blair, Developer Relations Lead @ Shopify
2 Likes
Highlighted
Shopify Partner
21 0 2

What's your recommendation? 

We are using SQLite for some apps, and are currently using text / nvarchar to store the IDs from Shopify. 

0 Likes
Highlighted
Shopify Expert
195 0 25

Thomas, 

I'd recommend you upgrade off up SQLite and use a production worthy database such as MySQL or PostgreSQL. When you do that you can use correct column data types. For example, in MySQL, you could store these larger integers in BIGINT. 

-Ryan

Stop Stressing About Shopify You’ve Got Better Things To Do => https://320ny.com/shopify/
1 Like