问题标签 [realm-migration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2173 浏览

android - 在 RealmMigration 中创建对象并将其添加到 RealmList

在我当前的应用程序中,我有一个带有“machineId”的HolderObject(扩展)。在应用程序的新版本中,这将能够以 RealmList 的形式包含更多机器。请参阅以下课程:RealmObjectlongHolderObject

旧对象:

新对象:

其中RealmLong如下:

要将所有旧HolderObjects 迁移到新对象,我使用自定义 RealmMigration。如下:

问题:

  • 在该行obj.getList("machineIds").add(realmLong);中,我收到此函数需要 aDynamicRealmObject而不是 a的错误RealmLong。我怎样才能RealmLong在这个列表中添加一个?
  • (奖励问题)这是解决此迁移问题的正确和最佳方法吗?
0 投票
1 回答
860 浏览

ios - 领域加密,领域文件解密失败,怎么回事?

我的代码在这里:

但是当我迁移数据库时,似乎“领域文件解密失败”,应用程序崩溃了。

我的迁移代码在这里:

帮我 !!!

0 投票
1 回答
625 浏览

realm - Realm 1.0.1 iOS obj-c 编译错误

我将 iOS Obj-C 的 Realm 从 0.98 更新到 1.0.1,但现在我们在编译过程中遇到了这些错误:

undef: __ZN5realm4util23PlatformSpecificCondVarC1Ev undef: __ZN5realm4util23PlatformSpecificCondVarD1Ev undef: __ZNK5realm13TableViewBase16maximum_datetimeEmPm undef: __ZNK5realm5Table16maximum_datetimeEmPm undef: __ZNK5realm11StringIndex3getEmRNSt3__15arrayIcLm8EEE undef: __ZN5realm5Table12set_datetimeEmmNS_8DateTimeE undef: __ZN5realm9Allocator10do_reallocEmPKcmm undef: __ZNK5realm5Table16minimum_datetimeEmPm undef: __ZN5realm5QueryC1ERKNS_5TableERKNS_4util8bind_ptrINS_8LinkViewEEE undef: __ZNK5realm13TableViewBase16minimum_datetimeEmPm undef: __ZNK5realm5Table12get_datetimeEmm undef: __ZN5realm14LinkListColumn19unregister_linkviewERKNS_8LinkViewE Undefined symbols for architecture x86_64:
“realm::util::PlatformSpecificCondVar::PlatformSpecificCondVar()”,引用自:realm::SharedGroup::SharedGroup(realm::Replication&, realm::SharedGroup::DurabilityLevel, char const*, bool) in libRealm.a( shared_realm.o)
"realm::util::PlatformSpecificCondVar::~PlatformSpecificCondVar()",引用自:realm::SharedGroup::SharedGroup(realm::Replication&, realm::SharedGroup::DurabilityLevel, char const*, bool)在 libRealm.a(shared_realm.o)
"realm::TableViewBase::maximum_datetime(unsigned long, unsigned long*) const"中,引用自:auto realm::Results::max(unsigned long)::$_3::operator ()(realm::TableView const&) libRealm.a(results.o) 中的 const
“realm::Table::maximum_datetime(unsigned long, unsigned long*) const”,引用自:auto realm::Results::max(unsigned long)::$_3::operator()(realm::Table const&) const in libRealm.a(results.o) "realm::StringIndex::get(unsigned long, std::__1::array&) const",引用自:void realm::StringIndex::set(unsigned long, realm: :null) 在 libRealm.a(RLMArray.o) 中 void realm::StringIndex::erase(unsigned long, bool) 在 libRealm.a(RLMArray.o) 中 void realm::StringIndex::erase(unsigned long, bool) 在libRealm.a(RLMArray.o) void realm::StringIndex::erase(unsigned long, bool) 在 libRealm.a(RLMArray.o) void realm::StringIndex::set(unsigned long, long long) 在 libRealm.a (RLMQueryUtil.o)
“realm::Table::set_datetime(unsigned long, unsigned long, realm::DateTime)”,引用自:realm::RowFuncs >::set_datetime(unsigned long, realm::DateTime) in libRealm.a(RLMAccessor.o ) libRealm.a(object_store.o) 中的 copy_property_values(realm::Property const&, realm::Property const&, realm::Table&)
“realm::Allocator::do_realloc(unsigned long, char const*, unsigned long, unsigned long)”,引用自:vtable for realm::Allocator in libRealm.a(RLMArray.o) “realm::Table::minimum_datetime (unsigned long, unsigned long*) const",引用自:auto realm::Results::min(unsigned long)::$_7::operator()(realm::Table const&) const in libRealm.a(results. o) "realm::Query::Query(realm::Table const&, realm::util::bind_ptr const&)",引用自:libRealm 中的 realm::Table::where(realm::util::bind_ptr const&) .a(RLMArrayLinkView.o)
“realm::TableViewBase::minimum_datetime(unsigned long, unsigned long*) const”,引用自:auto realm::Results::min(unsigned long)::$_7::operator()(realm::TableView const&) const in libRealm.a(results.o) "realm::Table::get_datetime(unsigned long, unsigned long) const",引用自:realm::RowFuncs >::get_datetime(unsigned long) const in libRealm.a(RLMAccessor .o) libRealm.a(object_store.o)
"realm::LinkListColumn::unregister_linkview(realm::LinkView const&)" 中的 copy_property_values(realm::Property const&, realm::Property const&, realm::Table&),引用自: libRealm.a(RLMArray.o) 中的 realm::LinkView::~LinkView() ld: 未找到架构 x86_64 的符号 clang: 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

我正在使用 cocoapods 来安装它。谢谢!

0 投票
1 回答
1201 浏览

android - 错误的交易状态(没有活动的交易,错误的交易类型,或者交易已经在进行中)

我目前正在为我的应用程序使用领域,但是当我读取 n 写入此错误显示时,我已经检查了两者beginTransaction()并且commitTransaction()也正确使用但它仍然显示

错误:

代码片段是:

我已经标记了-->它实际发生的位置。

n 当我登录resultForProfileInfo课程时,它不为空

0 投票
0 回答
252 浏览

android - 领域迁移

早上好,

当数据库发生更改时,我将尝试清除我的首选项文件,因为有一系列数据使我无法将新数据存储在数据库中。

在 MyApplication 我有:

在 MyMigration 我有:

但是当我对数据库进行更改时,我无法删除首选项文件,从而在应用程序中出现错误并关闭它。

到目前为止,我一直在做的所有证据都是清晰的应用程序数据,并且它有效,但我想自动化我提出的方式。

编辑

在我有以下内容之前只删除了一些字段首选项文件:

但它不起作用

0 投票
1 回答
118 浏览

ios - 重构从 linkingObjectsOfClass 到 RLMLinkingObjects 的 Realm 迁移

感谢您的出色工作。

最近我们处于深度开发过程中,我们刚刚迁移到领域最新版本,从 0.98.1 到 1.0.1。

问题之一是我们的迁移看起来像这样:

分别OwnerClass有这个:

并且MyClass有这个:

所以知道,据我所知,我们应该保持MyClass原样,但改变OwnerClass而不是旧的: @property (readonly) RLMLinkingObjects<MyClass *> *myClassInstances;

在我们这样做之后,迁移块应该是什么样子?我真的很难理解新结构的外观......感谢任何帮助。

0 投票
1 回答
324 浏览

ios - 将新的 RLMObject 添加到现有领域 - 模式和迁移

概述

我有一个现有的领域,其中包含大约两打持久模型。该 Realm 的配置及其对应的 schema-version 为 1。最近向应用程序添加了一些新功能,需要向 Realm 添加新模型。鉴于添加了模型,将模式版本增加到 2,因为添加了新模型,所以看起来是合乎逻辑的事情,因为通过添加新模型改变了模式。然而它会导致崩溃。

预期结果

将新模型添加到领域后,我应该将领域配置模式版本增加到 2,并有一个用于迁移的处理程序。没有对任何现有模型更改任何属性。一切都应该正常工作。

实际结果

将新模型添加到 Realm 并将 Realm 配置模式版本增加到 2,并使用用于迁移的处理程序块时,Realm 会因 EXC_BAD_ACCESS 而崩溃。

将 Realm 配置 schema-version 递减回 1 似乎可以解决崩溃问题。


文档清楚地说明了在更改模型属性时增加模式版本和迁移块处理程序。尽管尚不清楚仅添加新模型并增加模式版本。

任何人都可以澄清和验证吗?

  • 运行 Realm 0.96.3 (realm-cocoa)
  • Xcode 7.3.1 (7D1014)
0 投票
2 回答
1899 浏览

.net - Realm for Xamarin 中的简单迁移

Xamarin 领域的文档说:

Realm 将自动执行无需处理即可完成的迁移,例如添加和删除类或从类中添加和删除属性。对于更复杂的更改,需要进行适当的迁移。我们还没有这方面的 API,但它已在计划中并将很快添加。

但是,即使我只是向模型添加一个新字段,应用程序也会由于所需的迁移而崩溃。

我的问题是:如何利用自动执行的迁移?

0 投票
5 回答
1430 浏览

android - 领域无法迁移

我有一个要应用迁移的领域模型。但是,当我应用迁移时,我得到了错误

在我的 Activity 类中,配置设置为:

我使用领域实例来获取一些值。然后我使用以下方法应用迁移:

当我调用它时:realm = Realm.getDefaultInstance();我收到上面的错误。我是否正确应用迁移?

0 投票
1 回答
529 浏览

android - Realm:需要迁移吗?

如果需要迁移,有没有办法在 Android 中询问 Realm?

我有我的配置,以便在需要迁移时删除领域。

这对我的目的来说很好,但我需要知道何时发生这种情况,因为如果默认数据已被删除,我需要将其存储到数据库中。有什么提示我可以对删除数据的领域做出反应吗?