I am creating a website based on rails which uses a database based on mysql. I want my website to be available offline. For that I have to store the database on client's machine. I have the option on Web storage, Web sql database, Indexed DB. I have decided to use Wed sql database which is implemented using SQLite. I want the two database to be synchronized whenever the user is online. Please let me know how to make this possible
Using web sql database
1k Views Asked by rdp At
2
There are 2 best solutions below
0
umbrae
On
You may want to look into persistence.js for this, particularly the sync plugin. It works well for simple cases. (I'm not sure how much data you're planning on storing or how complex it is.)
As a bonus, it's abstracted out, so you can use Web SQL now and if, down the line, IndexedDB becomes the better option, it should be less painful to switch backends.
Related Questions in MYSQL
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to change woocomerce or full wordpress currency with value from USD to AUD
- window.location.href redirects but is causing problems on the webpage
- Error: local variable 'bramka' referenced before assignment
- Products aren't displayed after fetching data from mysql db (node.js & express)
- status table for all entries (even in different dates) in database changing value when all checkboxes are checked
- Can't Fix Mariadb & Mysql ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2) On MacOs
- Express Mysql getting max ID from table not working cought in a promise
- failed to upload a table from sql file
- Update a MySQL row depending on the ID in Google Sheets Apps Script
- Use row values from another table to select them as columns and establish relations between them (pivot table)
- SQL: Generate combination table based on source and destination column from same table
- How to display the column names which have only unique non-null values in MySQL table?
- mysql query takes too long because of wrong indexes usage
- Multitable joining in Sql
Related Questions in SQLITE
- How to store a date/time in sqlite (or something similar to a date)
- How to copy data from SQLite to postgreSQL?
- When using a Room database on an Android application, is it possible to pre-populate data
- Expo Error - Android sqlite no such table
- how can debugg field id error in the database schema?
- How add array of authors for unique user in database in Goland IDE?
- Calculate SMA_Close10 and SMA_Close20 of minute data
- Transitioning from Static to Dynamic Data in React with Express Backend
- In SQLite, how to group ranges of values and sort the groups
- Issue with making python executable with local db, sqlite3, tkinter
- Calculating EuclideanDistance in SQL for Deepface facial embeddings?
- Problem with a simple query script used in RS Forms on Joomla 4
- Checking multiple user inputs to multiple fields in a sqlite3 database with python
- How to make that each seller has its own different set of products using sqlite and uwp
- peewee: SQLite - peewee Create() is forcing integer in PrimaryKeyField if leading character is numeric (even if there is a non-numeric in the middle)
Related Questions in RUBY-ON-RAILS-3
- is there a way to write this clean?
- HTML to pdf conversion using wickedpdf with page count
- Rails rspec feature itegration testing for basic auhentication
- ImageKit works fine on local but doesn't work on heroku why?
- SSL Configuration Issue: Website Redirects Too Many Times and CSRF Token Mismatch
- How to fix permission error while install bundle for rails project on ubuntu?
- Active Admin filters not displaying on screen but present in the html DOM
- Why is the page title not not changing in a turbo-ios app
- Resolving 'net::ERR_BLOCKED_BY_CLIENT' Error After Upgrading Ruby to 3.2.2 and Rails to 7 with jsbundling Gem
- Cant install Mysql2 Gem::Ext::BuildError: ERROR: Failed to build gem native extension
- Filtering Users with Associated Records by Specific Date in Rails
- How to handle the params for accepts_nested_attributes_for for has_many association containing a lot of fields on both associated table
- Issue when Rounding Decimal values
- Map an activerecord array to avoid that two item with the same attribute are in a sequential position
- Devise Registration Ruby on Rails - Migration Error: Duplicate column name
Related Questions in OFFLINE-BROWSING
- How do I deactivate the internet entirely with Firefox's developer tools?
- How can I grab this website content without losing javascript content
- Service Worker Strategy for Cached First Scenario - Preloading Screen
- Offline PWA not behaving as expected on phones. Asks for connectivity despite caching all relevant files
- Download complex 3D JS/Canvas webpage for offline
- Flutter Making an Image.file() image into an ImageProvider() for zoomable photos
- indexedDB create multiple ObjectStore simultaneously
- Social Media Icons disappeared on my Online Website while they appeared on my offline website
- How does the JavaScript ofline serviceworker example work?
- ServiceWorker handling fetch events to URLs outside scope
- Viewing websites offline - how to get around unneeded ajax and jquery manipulation?
- How to save a webpage offline that is rendered with ember-cli-fastboot?
- How can I make "Service Worker" work in local network?
- Vuetify Offline Docs
- ODM/ORM for PouchDB in JavaScript
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The only way I can see this happening is for your clients to install local copies of some kind of DBMS like SQLite. You can then write to the local database from your site, although this may take more finagling.
As far as synchronization, I would synchronize via last-modified time, location, or client, as per your needs. If you use time, make sure you standardize (with UTC for example) to avoid problems with local system times.