我在数据库中编写了一些psql函数,经常在与python应用程序不同的上下文中使用(例如,用于数据集成)。
例如,这是我编写的一个简单函数,但是我还有其他一些更复杂的函数:
CREATE OR REPLACE FUNCTION
ref_nomenclatures.get_cd_nomenclature(myidnomenclature integer)
RETURNS character varying AS
$BODY$
DECLARE thecdnomenclature character varying;
BEGIN
SELECT INTO thecdnomenclature cd_nomenclature
FROM ref_nomenclatures.t_nomenclatures n
WHERE myidnomenclature = n.id_nomenclature;
return thecdnomenclature;
END;
$BODY$
LANGUAGE plpgsql IMMUTABLE
另一方面,我有一个使用sqlalchemy的python flask应用程序。我所有的模型都用sqlachemy声明,我用create_all()
函数(https://docs.sqlalchemy.org/en/latest/core/metadata.html)创建数据库。
如何使用sqlachemy编写这些函数,并使用create_all()
函数将它们反映在数据库中?
我想实现这一点,以便用python编写创建/迁移脚本而无需编写任何sql脚本。
感谢您的帮助。