我有一个使用sqlalchemy(在Pylons内)的Web应用程序。 我需要有效地改变模式,至less每天可以更改生产版本,也许更多,而不会丢失数据。 我已经在周末结束了一些平移的工作,我会说这给了我一个不好的印象。 首先, 我认为它不能帮助两个数据库引擎之间的迁移 ; 这是sqlalchemy可以完成的。 其次,这些文档似乎并不是最新的。 我不得不改变一些命令行选项,比如在每个命令中提供版本库path,这可能是一个迁移的错误。 但最糟糕的是它的“manage.py testing ”命令。 不仅它实际上修改了数据库 (在文档中明确指出了这一点,所以我不能指责迁移),但是我的第一个迁移脚本只是简单地进行了笨拙的模式迁移,使升级后的降级数据库与原来的模式不同 。 但是“manage.pytesting”只是回答了类似的问题 success ! 也就是说,它甚至不检查模式是否处于一致状态。 那么是否值得使用迁移? 与S.Lott提出的与良好实践相关的Do It Yourself方法相比,有没有什么优势? 是否有替代sqlalchemy-migrate实际上简化了迁移过程,或者我只是试图使用先前不好的迁移(然后请告诉我为什么不明显优于上面链接中build议的创buildCSV列)? 非常感谢!
我正在使用sqlalchemy编写Web应用程序。 在网站未投入生产的第一阶段,一切都很顺利。 我可以很容易地通过删除旧的sqlite数据库和从头开始创build一个新的数据库模式。 现在,网站正在生产中,我需要保留这些数据,但是我仍然希望通过轻松地将数据库转换为新的模式来保持原始开发速度。 所以我们假设在版本50中有model.py,在版本75中有model.py,描述了数据库的模式。 在这两个模式之间,大部分的改变是微不足道的,例如一个新的列被声明为一个默认值,我只是想把这个默认值添加到旧的logging。 最终,一些改变可能不是微不足道的,需要一些预先计算。 如何(或者将要)处理快速变化的Web应用程序,比如每天有一两个新版本的生产代码? 顺便说一句,如果这有什么不同,网站是写在主塔上。
我正在尝试使用Entity Framework数据迁移,如本文所述。 但是,当我尝试执行Enable-Migrations步骤时,我在包pipe理器控制台中收到以下错误: The target context 'MyDataContext' is not constructible. Add a default constructor or provide an implementation of IDbContextFactory 所以,我创build了一个工厂类,在包含我的DbContext类的项目中实现了IDbContextFactory ,但是数据迁移看起来并不能识别它。 有什么我应该明确做的指示数据迁移使用这个工厂类?
我想使我的应用程序能够进行自动轻量级迁移,当我添加新的属性到我的核心数据模型。 在苹果的指南中,这是我能find的唯一信息: 自动轻量级迁移 要请求自动轻量级迁移,请在您通过addPersistentStoreWithType传递的选项字典中设置适当的标志:configuration:URL:options:error :. 您需要将对应于NSMigratePersistentStoresAutomaticallyOption和NSInferMappingModelAutomaticallyOption键的值设置为YES: NSError *error; NSURL *storeURL = <#The URL of a persistent store#>; NSPersistentStoreCoordinator *psc = <#The coordinator#>; NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil]; if (![psc addPersistentStoreWithType:<#Store type#> configuration:<#Configuration or nil#> URL:storeURL options:options error:&error]) { // Handle the error. } 我的NSPersistentStoreCoordinator是这样初始化的: – (NSPersistentStoreCoordinator *)persistentStoreCoordinator { […]
我有一个用户必须login的Rails应用程序。因此,为了使应用程序可用,系统中必须有一个初始用户才能login第一个人(他们可以创build后续用户)。 到目前为止,我已经使用迁移来向数据库添加特殊用户。 在提出这个问题之后 ,似乎应该使用db:schema:load而不是运行迁移来在新的开发机器上设置新的数据库。 不幸的是,这似乎并不包括插入数据的迁移,只包括设置表,键等的迁移 我的问题是,处理这种情况的最佳方法是什么: 有没有办法让d:s:l包含数据插入迁移? 我是否应该不使用迁移来插入数据? 我是否应该不用数据预填充数据库? 我应该更新应用程序代码,以便处理没有用户优雅的情况,并允许从应用程序中实时创build初始用户帐户? 任何其他选项? 🙂
随着应用程序的发展,更新/迁移Mongoose模式的最佳实践(或工具)是什么?
我的一个队友曾经问过是否有可能从一个SVN出口到另一个SVN,同时保持历史。 对我来说,这似乎是一个共同的要求。 那么: 是否有可能在维护历史的同时在SVN版本库之间进行迁移? 需要注意的是,我们没有svnadmin对Source的访问权限,但是我们确实在Destination上有这个权限。 如果这只是从源头检查每个修订版,并将其检入到目的地,那么只要有自动化的过程,我们就可以。 编辑:我忘了提及,目的地回购是在Windows上。
我最近从Django 1.6切换到1.7,我开始使用迁移(我从来没有使用南)。 在1.7之前,我曾经用一个fixture/initial_data.json文件加载了初始数据,该文件使用python manage.py syncdb命令加载(创build数据库时)。 现在,我开始使用迁移,并且此行为已被弃用: 如果应用程序使用迁移,则不会自动加载灯具。 由于Django 2.0中的应用程序需要进行迁移,因此此行为被视为弃用。 如果您想加载应用程序的初始数据,请考虑在数据迁移中进行。 ( https://docs.djangoproject.com/en/1.7/howto/initial-data/#automatically-loading-initial-data-fixtures ) 官方文档没有清楚的例子,所以我的问题是: 使用数据迁移导入此类初始数据的最佳方法是: 通过多次调用mymodel.create(…)来编写Python代码, 使用或编写Django函数( 如调用loaddata )从JSON fixture文件加载数据。 我更喜欢第二个选项。 我不想使用南方,因为现在Django似乎可以自己做到。
我目前有一个运行在云实例上的live redis服务器,我想将这个redis服务器迁移到一个新的云实例,并将该实例用作我的新redis服务器。 如果是MySQL,我会从旧服务器导出数据库并将其导入新服务器。 我应该如何使用redis来做到这一点? PS:我不打算设置复制。 我想完全迁移redis服务器到一个新的实例。
我参与了数据迁移项目。 当我尝试从一个表插入数据到另一个表(SQL Server 2005)时出现以下错误: Msg 8152,Level 16,State 13,Line 1 string或二进制数据将被截断。 源数据列匹配数据types,并在目标表列的长度定义内,所以我不知道是什么原因导致了这个错误。