-
Notifications
You must be signed in to change notification settings - Fork 37
Documentation - Migration to Cloud Example #426
Comments
I Cannot even access the realmserver documentation at https://docs.realm.io/server/
Please assist as we want to migrate and start using Realm Cloud as soon as possible. |
@gta-kkalchev Where did you see the link to https://docs.realm.io/server/? |
@bmunkholm Thanks for your response, I was looking for documentation on how to migrate from selfhosted server to cloud platform. I don't have any experience with realm server, and couldn't find detailed docs on how to achieve my task. Any pointers are appreciated |
@gta-kkalchev If you are self-hosted I would reach out to your account manager and ask for guidance. |
@gta-kkalchev - is there any reason you can't just do a local backup from a client connected to your self hosted server and then use the javascript migration code to load the backup database file to the cloud server ? I have used the script to migrate from a local database to a cloud based development instance and then used the above procedure to backup the development instance and migrate that to production during the initial go-live. Initially we were worried about references not being retained but the migration script seemed to work perfectly well. Just make sure you allow enough time for the migration script to run and for the local realm service to complete syncing with the cloud server because the script just creates a local database and realm handles the syncing to the server. |
Goals
Migrate local realm to cloud
Expected Results
Sample code should compile
Actual Results
It seems the sample code is using outdated API's
#import "AppDelegate.h"
@import Realm;
@import Realm.Dynamic;
@import Realm.Private;
@interface AppDelegate ()
@EnD
@implementation AppDelegate
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString *sourceFilePath = [[NSBundle mainBundle] pathForResource:@"fieldFlow" ofType:@"realm"];
RLMRealmConfiguration *configuration = [[RLMRealmConfiguration alloc] init];
configuration.fileURL = [NSURL URLWithString:sourceFilePath];
configuration.dynamic = true;
configuration.readOnly = YES;
RLMRealm *localRealm = [RLMRealm realmWithConfiguration:configuration error:nil];
RLMSyncCredentials *creds = [RLMSyncCredentials credentialsWithUsername:@"[email protected]" password:@"password" register:NO];
[RLMSyncUser logInWithCredentials:creds authServerURL:[NSURL URLWithString:@"http://localhost:9080"] onCompletion:^(RLMSyncUser *syncUser, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
[self copyToSyncRealmWithRealm: localRealm user:syncUser];
});
}];
return YES;
}
(void)copyToSyncRealmWithRealm:(RLMRealm *)realm user:(RLMSyncUser *)user
{
RLMRealmConfiguration *syncConfig = [[RLMRealmConfiguration alloc] init];
syncConfig.syncConfiguration = [[RLMSyncConfiguration alloc] initWithUser:user realmURL:[NSURL URLWithString:@"realm://localhost:9080/~/fieldRow"]];
syncConfig.customSchema = [realm.schema copy];
RLMRealm *syncRealm = [RLMRealm realmWithConfiguration:syncConfig error:nil];
syncRealm.schema = syncConfig.customSchema;
[syncRealm transactionWithBlock:^{
NSArray *objectSchema = syncConfig.customSchema.objectSchema;
for (RLMObjectSchema *schema in objectSchema) {
RLMResults *allObjects = [realm allObjects:schema.className];
for (RLMObject *object in allObjects) {
RLMCreateObjectInRealmWithValue(syncRealm, schema.className, object, true);
}
}
}];
}
@EnD
Would someone mind updating the documentation to reflect the current APIs.
The text was updated successfully, but these errors were encountered: