How to synchronize database with server - iphone

I have the following problem.
I'm on a project that was created using the framework phonegap (html + css + js). At one time we were needing to create a database in the app, so we use WebSQL which is a database used in html5.
Now I'm needing to access that database with objective-c, to synchronize data with the server.
Is there any way to access that database that is WebSQL?

Related

Flutter web NoSQL options with local saving and cross-user access

I'm looking for a flutter web compatible solution for NoSQL data storage/retrieval such that multiple users can save/fetch data - with the catch it needs to be hosted locally with no 3rd party tools. Firebase/Firestore is 100% perfect except for the caveat data is stored remotely.
So ideally when any user launches the app, the app will parse a locally stored JSON/NoSQL-like DB (from a SharePoint directory sigh), and their edits/saves/uploads will be written back. I'm not too worried about data-access collisions at this time. What solutions do I have? Thanks!

Can I still update or create items in a table that has Azure mobile services EntityData with entity framework or SQL?

I have an azure mobile services and all the tables inherit from EntityData (to enable offline sync), which means they have system columns created automatically such as:
CreatedAt UpdatedAt Deleted
If I try to update or insert to this tables, can I still do it with just entity framework or plain SQL, or do I now have to do it all through the mobile service.
I'm somehow confused with the whole purpose of the EntityData and what it means. Cause I want an application that would be able to use offline sync, but still access data from a webpage.
The Azure Mobile Services SDK makes it very easy to perform CRUD operations on your tables but that doesn't mean you can't still access the tables using entity framework or just plain SQL.
Remember the Azure Mobile Services SDK supports both offline and online operations, but if you need to use the same Azure mobile services database with another client application, then you would have to get the SQL database connection string and connection information from the Azure Mobile services dashboard. With both information, your client app can use Entity framework or plain SQL queries to interact with the tables.

Manually tweak IndexedDB document

I am writing a Chrome Packaged App that uses the IndexedDB for data storage. Chrome allows me to view the contents of the database, but I can't find any way to manually change the data. I need to update this data from time to time because, you know, I'm still writing the app. Any idea how to manually change the data in the database?
Any changes to the IndexedDB database have to be performed via the IndexedDB API. There are no utilities, data editors, query apps, loaders, importers, or any other kind of external utility, such as there is for MySQL, SQLite, Oracle, or any other such database.
Furthermore, it's not even theoretically possible to write such a utility, because an IndexedDB database is sandboxed inside a single app, and no other app can access it.
What I do is incorporate the needed update forms and commands (delete database, create database, count rows, etc.) as modules inside the app, perhaps accessible from a Maintenance or Admin menu item. Obviously, this is a lot of work, but there is no other way if you're using IndexedDB.
In addition, I have a "load database" menu item that loads it from JSON in an external file. I do that from time to time when I want the app to have some initial data, or test data. But, this is just an example of what I said in the first sentence, above.
HTML5 Storage Manager All in One folks promise they'll have indexedDB support soon.
They use some tricks to open extension window inside the same domain as debugged page, thus making indexedDb accessible.
Doesn't work successfully at the time of this writing, though.

Core Data vs mysql

I already have a django application and am trying to develop an iPhone app. I'm using mysql as the database for the django app.
Here are some questions I was having :
Is it necessary to use Core Data for anything?
Can I create a rest api to interact with the mysql database?
If so, would there be any advantage, at any place or reason, to use Core Data in addition to mysql. For example, for an app like Pinterest, Tumblr, Facebook, etc. are they using Core Data at all? If so, why and how?
Core Data is one way to give you a local database on the phone. With only MySQL on the server, the app cannot access any data when offline. Even in an online-only app, a local cache of some of the data can be useful to speed things up.
Similar to Django,where it has and database-abstraction API that lets you create, retrieve, update and delete objects, iOS has an CoreData. What under-lies is still SQL. From the django end, you need to create an api that returns the class of objects or something. On the iOS side, you have to call this api and parse the data and save it locally using CoreData.
Hope this helps..

Package webdatabase in phonegap

Phonegap storage documentation speaks only about how data can be added to the app via code. I want to push a compiled database (say Directory of phone numbers) to the PhoneGap app. Is it possible?
AFAIK, you cannot push a compiled DB.
What you can do is to include the content of this database as a SQL file in your app, load it in ajax and use phonegap executeSql function to populate the DB.
This would of course only need to run once.
You could also just export the DB to a text format (CSV or JSON), and depending on the size and how/what you are querying, either load it in memory or add it to the localStorage (or SQL) in the target PhoneGap framework...
The only other way I see this happening is by using CouchDB - a NOSQL DB that has support for Android/iOS/PhoneGap - which can also synchronize a local DB with a remote one (all magic!) thus allowing your remote phone numbers to change and still to be updated (incremental) at your client.
Hope this helps