在rails上工作时,我注意到了rails迁移的以下行为。我不知道它是否是预期的行为。有人对此有任何想法吗?
第1步 - 我创建了迁移
rails g migration CreateCustomer
此命令的结果 -
invoke active_record
create db/migrate/20151012160803_create_customer.rb
第2步 - 现在我要撤消使用上述命令生成的代码。
rails d migration CreateCustomer
此命令的结果 -
invoke active_record
remove db/migrate/20151012160803_create_customer.rb
第3步 - 如果我再次运行第2步命令rails d migration CreateCustomer
,我会在不同的rails版本上获得不同的结果
Rails 3.2.17的结果是 -
invoke active_record
remove migration.rb
Rails 4.0.0的结果是 -
invoke active_record
remove create_table_migration.rb
我的问题是为什么rails删除migration.rb
或create_table_migration.rb
文件? rails真的删除了这个文件吗?
谢谢!
答案 0 :(得分:0)
如果您要运行,请不要删除此文件:
import java.util.*;
import javax.swing.JOptionPane;
public class Divisors {
public static void main(String[] args) {
String n = JOptionPane.showInputDialog(null, "Enter a natural number");
Integer i = Integer.parseInt(n);
int d = i - 1;
int x = 2;
Set<Integer> divisors = new HashSet<>();
while (x >= 2 && x <= d) {
double y = i % x;
if (y == 0) {
divisors.add(x);
x = x + 1;
} else {
x = x + 1;
}
}
List<Integer> l = new ArrayList<>(divisors);
JOptionPane.showMessageDialog(null, "The divisors of " + i + " are:\n" + l);
}
}
你会得到同样的错误,你看到的那两个文件名是Rails的核心文件create_table_migration.rb:
rails d migration SomeUnRealMigration
这不会影响您应用程序中的任何文件。