gpt4 book ai didi

android - 如何使用 Ollie 进行模式迁移?

转载 作者:行者123 更新时间:2023-11-29 00:08:46 25 4
gpt4 key购买 nike

我目前在我的 Android 应用程序中使用 Ollie ORM。我想做一些架构迁移。

如果我查看 this ,我得出结论,我应该创建一个新类。我创建了如下迁移类:

import ollie.Migration; 

public class MigrateToVersionTwo extends Migration {
@Override
public int getVersion() {
return 2;
}

@Override
public String[] getStatements() {
return new String[]{
"ALTER TABLE events ADD COLUMN test INTEGER;"
};
}
}

我还将 database_version 从 1 更改为 2。

但是架构没有任何变化..我是不是遗漏了什么?

如果您需要更多信息,这里是 AdapterHolderImpl.java 类:

package ollie;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import ollie.adapter.BooleanAdapter;
import ollie.adapter.CalendarAdapter;
import ollie.adapter.SqlDateAdapter;
import ollie.adapter.UtilDateAdapter;
import ollie.internal.AdapterHolder;
import ollie.internal.ModelAdapter;

public final class AdapterHolderImpl
implements AdapterHolder {
private static final List<Migration> MIGRATIONS = new ArrayList<Migration>();
private static final Map<Class<? extends Model>, ModelAdapter> MODEL_ADAPTERS = new HashMap<Class<? extends Model>, ModelAdapter>();
private static final Map<Class, TypeAdapter> TYPE_ADAPTERS = new HashMap<Class, TypeAdapter>();

static {
MODEL_ADAPTERS.put(com.me.model.SafeZoneVO.class, new ollie.SafeZoneVO$$ModelAdapter());
MODEL_ADAPTERS.put(com.me.model.EventVO.class, new ollie.EventVO$$ModelAdapter());
MODEL_ADAPTERS.put(com.me.model.ContactVO.class, new ollie.ContactVO$$ModelAdapter());
MODEL_ADAPTERS.put(com.me.model.User.class, new ollie.User$$ModelAdapter());
MODEL_ADAPTERS.put(com.me.model.Place.class, new ollie.Place$$ModelAdapter());

TYPE_ADAPTERS.put(java.util.Calendar.class, new CalendarAdapter());
TYPE_ADAPTERS.put(java.util.Date.class, new UtilDateAdapter());
TYPE_ADAPTERS.put(java.lang.Boolean.class, new BooleanAdapter());
TYPE_ADAPTERS.put(java.sql.Date.class, new SqlDateAdapter());
}

public final List<? extends Migration> getMigrations() {
return MIGRATIONS;
}

public final <T extends Model> ModelAdapter<T> getModelAdapter(Class<? extends Model> cls) {
return MODEL_ADAPTERS.get(cls);
}

public final List<? extends ModelAdapter> getModelAdapters() {
return new ArrayList(MODEL_ADAPTERS.values());
}

public final <D, S> TypeAdapter<D, S> getTypeAdapter(Class<D> cls) {
return TYPE_ADAPTERS.get(cls);
}
}

最佳答案

原来我得用最新的版本(目前是0.3.2-SNAPSHOT)。

因此,我将构建 gradle 更改为:

apt 'com.michaelpardo:ollie-compiler:0.3.2-SNAPSHOT'
compile 'com.michaelpardo:ollie:0.3.2-SNAPSHOT'

并为快照版本添加了存储库:

maven { url "https://oss.sonatype.org/content/repositories/snapshots/"} 

关于android - 如何使用 Ollie 进行模式迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31811774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com