gpt4 book ai didi

database - 将字段添加到 App Engine 托管的数据库

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:25 25 4
gpt4 key购买 nike

我目前正在开发一个使用 Google App Engine 托管的网络服务的移动应用程序。

但是我遇到了一个问题。我只想在我的数据库表中添加一个字段。App Engine 不使用经典的 SQL 语法,而是使用 GQL。所以我不能使用 ALTER TABLE 语句。我如何使用 GQL 执行此操作?我在网上寻找解决方案,但没有太多帮助。

public MyEntity() {
}

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Key idStation;
private String name;
private double longitude;
private double latitude;
private java.util.Date dateRefresh = new Date(); //the field i want to add in DB

所以,现在当我创建一个“MyEntity”对象时,它应该将“dateRefresh”字段添加到数据库中……我这样创建我的对象:

MyEntity station = new MyEntity();
station.setName("test");
station.setLatitude(0);
station.setLongitude(0);
station.setDateRefresh(new Date("01/01/1980"));

DaoFactory.getStationDao().addStation(station);

添加站点方法:

@Override
public MyEntity addStation(MyEntity station) {
EntityManager em = PersistenceManager.getEntityManagerFactory().createEntityManager();
try {
em.getTransaction().begin();
em.persist(station);
em.getTransaction().commit();
} finally {
if(em.getTransaction().isActive()) em.getTransaction().rollback();
em.close();
}
return station;
}

“dateRefresh”字段从未创建到我的数据库中...

有人帮我吗?

提前致谢

最佳答案

只需在您的数据结构中添加另一个字段,也许提供一个 default 子句,仅此而已。例如,如果您有一个 UserAccount:

class UserAccount(db.Model):
user = db.UserProperty()
user_id = db.StringProperty()

您可以轻松添加:

class UserAccount(db.Model):
user = db.UserProperty()
user_id = db.StringProperty()
extra_info = db.IntegerProperty(default=0)
timezone = db.StringProperty(default="UTC")

放手吧。

关于database - 将字段添加到 App Engine 托管的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13585143/

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