我们正在开发一个支持Doctrine的网站,使用YAML来定义我们的模式。我们的模式变化规律(包括FK关系),所以我们需要做很多的:保持数据的原则模式更改?
Doctrine::generateModelsFromYaml(APPPATH . 'models/yaml', APPPATH . 'models', array('generateTableClasses' => true));
Doctrine::dropDatabases();
Doctrine::createDatabases();
Doctrine::createTablesFromModels();
我们想保持现有的数据,并将其存回重新创建的数据库。所以我在主数据库被删除之前将数据复制到一个临时数据库中。
如何从“旧方案数据库副本”到“新方案数据库”的数据?(新方案只包含新列,没有列被删除)
注:
这显然是行不通的,因为列数不匹配。
SELECT * FROM copy.Table INTO newscheme.Table
这显然不工作,但是这会消耗太多的时间来写的每个表:
SELECT old.col, old.col2, old.col3,'somenewdefaultvalue' FROM copy.Table as old INTO newscheme.Table