在部署应用程序时,我经常使用Hibernate的容量来创建数据库模式,以简化部署.通过配置hibernate.hbm2ddl.auto属性可以轻松实现这一点.
但是,有时我还需要将一些初始数据插入数据库,例如root用户.有没有办法通过hibernate使用某种加载文本文件来实现这一点?
我知道我可以很容易地编写代码,但只是想知道是否已经有一些实用程序可以帮助我实现相同的via配置?
我需要从excel文件和带有图像的文件夹导入一些数据,excel中的每一行都描述每个条目,并在文件夹中有一个文件名列表(与条目相关的照片).
我已经完成了一个脚本,它创建数据库中的每个条目并通过django shell保存它,但我不知道如何实例化InMemoryUploadedFile以便用模型保存它.
在django 1.0中我有这个小班让我可以做我需要的,但是随着django 1.1的改变,它不再工作了.
class ImportFile(file):
def __init__(self, *args, **kwargs):
super(ImportFile, self).__init__(*args, **kwargs)
self._file = self
self.size = os.path.getsize(self.name)
def __len__(self):
return self.size
def chunks(self, chunk_size=None):
self._file.seek(0)
yield self.read()
Run Code Online (Sandbox Code Playgroud)
我正在使用这个代码来加载图像并使用模型实例保存它们.
for photo in photos:
f = ImportFile(os.path.join(IMPORT_DIR, 'fotos', photo), 'r')
p = Photo(name=f.name, image=f, parent=supply.supply_ptr)
name = str(uuid1()) + os.path.splitext(f.name)[1]
p.image.save(name, f)
p.save()
Run Code Online (Sandbox Code Playgroud)
问题是,如何从python中的文件创建InMemoryUploadedFile或TemporaryUploadedFile,或者在此上下文中可以工作的任何其他东西.
我们计划构建一个动态数据导入工具。基本上是在一端以指定格式(access、excel、csv)获取信息并将其上传到 Web 服务中。
情况是我们不知道导出字段名称,因此应用程序需要能够查看 wsdl 定义并映射到另一端的有效条目。
在导入部分,我们可以定义大部分字段,但通常有一些是自定义的。我认为这没有问题。
我只是想知道是否有一种设计模式适合此类应用程序或有助于其开发。
我很想知道是否有人在使用Abinitio进行数据导入,操作,导出以及强烈推荐的时候有一些真实世界的经验.
我正在寻求解决这个过程的可扩展性问题,并希望得到一些反馈,如果它解决了这些问题.
我听说这是一个很好的工具.
import ×2
ab-initio ×1
database ×1
django ×1
etl ×1
file ×1
hibernate ×1
performance ×1
python ×1
web-services ×1