我有一个mariadb数据库和一个rails应用程序。
我计划先正常设置rails应用程序,然后使用其用户界面首先创建数据库数据,然后使用mysqldump导出这些数据。 mysqldump -u username -p database_name > data-dump.sql
我的问题是,如果我以后进行迁移,我仍然可以加载mysql转储而不遇到问题吗?
例如,如果我的迁移删除了一列,我是否应该再次使用mysqldump创建一个新的数据库备份?
我有什么需要注意的吗?
我有一个mariadb数据库和一个rails应用程序。
我计划先正常设置rails应用程序,然后使用其用户界面首先创建数据库数据,然后使用mysqldump导出这些数据。 mysqldump -u username -p database_name > data-dump.sql
我的问题是,如果我以后进行迁移,我仍然可以加载mysql转储而不遇到问题吗?
例如,如果我的迁移删除了一列,我是否应该再次使用mysqldump创建一个新的数据库备份?
我有什么需要注意的吗?
1条答案
按热度按时间i86rm4rw1#
在执行mysqldump时,默认情况下会包含table create语句。只有传入--no create info标志时,它们才会被排除。因为您的迁移只是对表的更改,所以您可以放心,当您稍后加载数据时,它将应用您的所有迁移,直到您的数据库被转储为止。
此外,在运行迁移时,rails会跟踪schema\u migrations表中运行的迁移。因此,如果您回滚到以后有更多迁移的时间点,您可以重新运行rake db:migrate,并且只有那些新的迁移才会运行,因为这些数据都是备份的一部分。