Ein üblicher Weg, dies zu tun, besteht darin, eine "Eigenschaften" -Tabelle zu haben, die einer Eigenschaftendatei entspricht. Hier können Sie alle Ihre App-Konstanten oder nicht so konstante Dinge speichern, die Sie nur benötigen.
Sie können die Informationen dann nach Bedarf aus dieser Tabelle abrufen. Wenn Sie feststellen, dass Sie eine andere Einstellung speichern müssen, können Sie diese hinzufügen. Hier ein Beispiel:
property_entry_table
[id, scope, refId, propertyName, propertyValue, propertyType]
1, 0, 1, "COMPANY_INFO", "Acme Tools", "ADMIN"
2, 0, 1, "SHIPPING_ID", "12333484", "ADMIN"
3, 0, 1, "PAYPAL_KEY", "2143123412341", "ADMIN"
4, 0, 1, "PAYPAL_KEY", "123412341234123", "ADMIN"
5, 0, 1, "NOTIF_PREF", "ON", "ADMIN"
6, 0, 2, "NOTIF_PREF", "OFF", "ADMIN"
Auf diese Weise können Sie die Daten speichern, die Sie haben, und die Daten, die Sie nächstes Jahr haben werden und von denen Sie noch nichts wissen :).
In diesem Beispiel können Ihr Gültigkeitsbereich und Ihre Referenz-ID für alles verwendet werden, was Sie im Back-End möchten. Wenn also propertyType "ADMIN" den Gültigkeitsbereich 0 refId 2 hat, wissen Sie, welche Präferenz dies ist.
Der Eigenschaftstyp kommt zum Tragen, wenn Sie eines Tages auch hier Informationen außerhalb des Administrators speichern müssen.
Beachten Sie, dass Sie Warenkorbdaten nicht auf diese Weise speichern oder nachschlagen sollten. Allerdings , wenn die Daten - System spezifisch, dann können Sie sicher diese Methode verwenden.
Beispiel: Wenn Sie Ihre DATABASE_VERSION speichern möchten, verwenden Sie eine solche Tabelle. Auf diese Weise können Sie beim Aktualisieren der App anhand der Eigenschaftentabelle feststellen, über welche Version Ihrer Software der Client verfügt.
Der Punkt ist, dass Sie dies nicht für Dinge verwenden möchten, die den Warenkorb betreffen. Halten Sie Ihre Geschäftslogik in genau definierten relationalen Tabellen. Die Eigenschaftentabelle dient nur zur Systeminfo.