Changing Google Sheet for Existing App

I have a new version of my Google Sheet. The changes are an update to an App Script and cell data only. All columns remain the same.

Is there a way to change the actual sheet the app points to?

Alternatively, if I delete the original sheet and change the name of the new version to the same as the original will that cause issues with my app?

Go to Settings>Data Data Sources and select the 3 dot menu then Replace.

I would advise duplicating app and sheet and testing the replace function on the duplicate first. Or duplicate the app to have a backup. Better safe than sorry in case something doesn’t go right.

2 Likes

Thanks George

Cheers

Great advice Jeff

1 Like

Works perfectly. Thanks guys!!!

1 Like

Spoke too soon. Just made data changes using the app. It is updating thr old version of the google sheet not the one I changed in settings. Does this mean the app needs to be reinstalled maybe???

Last time I did this I found that I had to change it a couple of times before it actually stuck.

Here’s a few things to try:

  • Make sure the sheets have different names so that it’s obvious which one is connected
  • Check the setting, and change again if necessary
  • Manually trigger a sync, and wait till it finishes
  • Make a change and see where it goes

You did make a backup of both the app and sheet before you started, yes? :wink:

…just reread and see that you mention you made changes via the app that went to the wrong sheet.
Not sure if this makes a difference (I’d be surprised if it does), but do you have auto-publish disabled?
I can’t imagine that it should be necessary to re-install the app - the hooks to the Google Sheet should be a back end thing that the app is agnostic about - or at least that’s what I’d expect.

1 Like

Thanks Darren
Just found you have to manually synch the spreadshhet with the app before it works. Then manually sink the glide sheet to make the “app” view work. Then its all OK.

3 Likes

Hi,
My app is based on a pre-existing Google Sheet. Specifically, I’m working to transitioning/upgrading a CRM system from Sheets (and forms) to Glide. The challenge is that this CRM system is very much alive and used by many users during all times of the day. Users must be able to continue using it until the new Glide app is functional. This means that the app’s data-source cell data will surely change from the moment I initially link it to the moment we go live. I wanted to consult with your guys about the best practice to make this handoff between Google Sheets based to Glide based system. Will a simple data-source replace and manual sync solve it?
As part of the Glide app development process, I’ll surely add Glide columns as well as (perhaps) Glide tables. Will these survive the data-source change, including all links, relations, layouts and interactions? If they don’t survive, I’m not sure how can you go-live with a pre-existing system.
PS1-Surely I’ll remove share from the Google Sheet and pause all forms during the time manual sync is running.
PS2 - If my question is slight off topic it’s because this post addresses a topic very similar to my question so I thought I’d piggy-ride it.
Thanks

Question: Is it likely that the actual structure of the sheets will change during the period you’ll be building the app, or is just that users will be constantly adding new data?

If you’re confident that the structure won’t change, then I think what I’d be inclined to do is take a snapshot of the Google Spreadsheet and use that snapshot to build out the app. That way, you can build and test your app to your hearts content without fear of disturbing the existing system. Once you are done and ready to go live, it should then simply be a matter of importing all current data into your snapshot, and make that the “live” version.

Glide computed columns and relations, etc will survive large chunks of data being added/removed, as long as the sheet column headings remain intact.

I’ve probably oversimplified a bit, but I think this general approach should work fine.

Thanks @Darren_Murphy.
Indeed, structure isn’t likely to change.
Not sure I understand what you mean by “importing”. I would like to think you don’t mean copy-paste, but rather replace the data-source from the app setting? Perhaps you meant something else altogether?
Thanks

It depends.
No, I certainly wasn’t suggesting copy/paste.
Replacing the source should work fine - again as long as the structure hasn’t changed. One thing I’m not sure about when you replace a source sheet is what happens with RowID columns. I would assume that Glide would create new RowID columns in the new sheets, but that’s not something I’ve ever tested. So that’s at least one thing to test before you take the plunge.

Depending on the number of sheets involved, I think I might consider using ImportRange to transfer data from the old to the new. But you’d also have to be very careful with that, and be sure not to disturb any of the column headings.

The good thing about Glide Apps is they are very easy to duplicate. So whatever migration option you decide on, you can do as many dry runs as you like with duplicate copies of your app.

Thanks. Indeed very easy to have test runs but I rather learn from the experience of the members here. At the very least, I’d like to know that there are no mid to long term effects which I might miss during my trial & error. Any thoughts?

Your idea sparked my imagination. Throwing an idea out there:
why not use a “buffer” table that shall always mirror (=importrange) the actual live CRM sheet. This way I can basically work with live data, without touching live data.
The challenge will be if trying to use forms from Glide, which won’t be able to update the mirrored table. This can be solved by using Google Forms. While not ideal, it does has an upside with allowing us to easily use Google Drive, skipping the highly unsafe Glide storage altogether.
I feel this is a crocked solution, like scratching your left ear with your right hand twisted behind your head, but I might be wrong and it’s not such a bad idea.
Would very much appreciate your thoughts.
PS - my initial instinct is to actually use Google’s AppSheet when data privacy is such a major issue. However, I must admit AppSheet is still much to complicated for me. Glide is a breeze!

I agree (that it sounds like scratching your left ear with your right hand twisted behind your head).
It seems that you’re essentially talking about an app in “read-only” mode, yes?
So what is the purpose and function of the app?

Yeah, let’s not go there.
I’m still not comfortable the app will function properly if the data source will be changed after all programing is over. I’m rather concerned there might be some issues that we’d miss during the testing phase and then correcting them will require complete re-building of the app.

heh… I’m not sure what else to say. Of course I can’t guarantee that it will work - I know nothing about your app or your Google Sheets. But it is a supported function and I see people using it all the time. I’ve not used it a lot, but I have used it - and it’s always worked.

Ultimately it’s your choice. If you are really nervous about it you could try reaching out directly to Glide Support for advice.

2 Likes

Thx.
Is there a way to get their attention within these posts?

I see that @George-Glide commented at the start of this thread. If I tag him (oops, I just did), maybe he’ll see it and weigh in :wink:

I have an issue related to this post. I have transferred an App I created to a client’s account. Now I want the app to use a Sheet from client’s google account. I copied over all data, column names, sheet names over to the client’s sheet. I used Replace in DataSource, however I get an error as follows;

Screenshot 2021-12-16 at 2.45.36 PM

Am I missing something or is it just not possible?